refactor: 统一项目内国际化key的命名空间格式
本次提交对全项目的国际化调用进行了规范化重构:
1. 为中文/英文语言包新增了avatar和gender的别名映射,兼容旧有headImg/sex写法
2. 修正了lang.js中的注释路径错误
3. 将所有页面和组件内的$lang调用从短路径改为带业务模块前缀的完整命名空间路径,例如将$lang('title')改为$lang('article.list.title')
4. 优化了i18n-lazy.js的注释说明,补充了正确的key命名格式示例
5. 统一了分销、订单、会员等模块的国际化key层级,确保所有语言调用路径一致
This commit is contained in:
@@ -165,7 +165,7 @@ function normalizePageLangPack(path, langData) {
|
||||
}
|
||||
if (!result[lastSegment]) {
|
||||
// 兼容页面内按文件名命名空间调用的写法,如 point/goods_list 页面调用
|
||||
// $lang('goods_list.searchPlaceholder')。
|
||||
// $lang('point.goods_list.searchPlaceholder')。
|
||||
result[lastSegment] = deepCloneLang(currentPageLeaf);
|
||||
}
|
||||
|
||||
|
||||
@@ -27,12 +27,14 @@
|
||||
* }
|
||||
*
|
||||
* // 2) 在 methods 中实现 i18nPrepareFn, 返回一个新对象用于填充 this.i18n
|
||||
* // 其中 key 用反引号 `` `your.module.title` `` 这类命名代表"业务模块的真实 key",
|
||||
* // 请用业务组件实际使用的 key 替换(例如 'components.privacyPopup.title')
|
||||
* methods: {
|
||||
* i18nPrepareFn() {
|
||||
* return {
|
||||
* title: this.$lang('components.foo.title'),
|
||||
* descPrefix: this.$lang('components.foo.descPrefix', { appName: '本应用' }),
|
||||
* privacyContractName: this.platformContractName || this.$lang('components.foo.default'),
|
||||
* title: this.$lang(`your.module.title`),
|
||||
* descPrefix: this.$lang('components.privacyPopup.descPrefix', { appName: '本应用' }),
|
||||
* privacyContractName: this.platformContractName || this.$lang(`your.module.defaultContract`),
|
||||
* };
|
||||
* },
|
||||
* }
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
<!-- <block v-if="value.template == 4">
|
||||
<view class="search-box" v-if="value.search" @tap.stop="$util.redirectTo('/pages_tool/goods/search')" :style="navbarInnerStyle">
|
||||
<view class="search-content">
|
||||
<input type="text" class="uni-input font-size-tag" maxlength="50" :placeholder="$lang('search')" confirm-type="search" @tap.stop="onClickSearch()" disabled="true" />
|
||||
<input type="text" class="uni-input font-size-tag" maxlength="50" :placeholder="$lang('components-diy.diy-search.searchBtn')" confirm-type="search" @tap.stop="onClickSearch()" disabled="true" />
|
||||
<text class="iconfont icon-sousuo3"></text>
|
||||
</view>
|
||||
</view>
|
||||
@@ -16,7 +16,7 @@
|
||||
<view class="search-box" v-if="value.search" @tap.stop="onClickSearch()"
|
||||
:style="wxSearchHeight">
|
||||
<view class="search-content">
|
||||
<input type="text" class="uni-input" maxlength="50" :placeholder="$lang('search')"
|
||||
<input type="text" class="uni-input" maxlength="50" :placeholder="$lang('components-diy.diy-search.searchBtn')"
|
||||
confirm-type="search" @tap.stop="onClickSearch()"
|
||||
disabled="true" />
|
||||
<text class="iconfont icon-sousuo3"></text>
|
||||
@@ -29,7 +29,7 @@
|
||||
<!-- #ifdef H5 -->
|
||||
<view class="search-box" v-if="value.search" @tap.stop="onClickSearch()">
|
||||
<view class="search-content">
|
||||
<input type="text" class="uni-input" maxlength="50" :placeholder="$lang('search')" confirm-type="search"
|
||||
<input type="text" class="uni-input" maxlength="50" :placeholder="$lang('components-diy.diy-search.searchBtn')" confirm-type="search"
|
||||
@tap.stop="onClickSearch()" disabled="true" />
|
||||
<text class="iconfont icon-sousuo3"></text>
|
||||
</view>
|
||||
|
||||
@@ -69,8 +69,8 @@
|
||||
<image :src="$util.getDefaultImage().head" mode="widthFix" show-menu-by-longpress></image>
|
||||
</view>
|
||||
<view class="info">
|
||||
<view class="nickname"><text class="name">{{ $lang('login') }}</text></view>
|
||||
<view class="desc">{{ $lang('loginTips') }}</view>
|
||||
<view class="nickname"><text class="name">{{ $lang('member.index.login') }}</text></view>
|
||||
<view class="desc">{{ $lang('member.index.loginTips') }}</view>
|
||||
</view>
|
||||
|
||||
<view v-if="ischina == 1"
|
||||
@@ -85,19 +85,19 @@
|
||||
{{ memberInfo ? (parseFloat(memberInfo.balance) +
|
||||
parseFloat(memberInfo.balance_money)).toFixed(2) : '--' }}
|
||||
</view>
|
||||
<view class="title">{{ $lang('balance') }}</view>
|
||||
<view class="title">{{ $lang('member.index.balance') }}</view>
|
||||
</view>
|
||||
<view class="solid"></view>
|
||||
<view class="account-item" @tap.stop="redirect('/pages_tool/member/point_detail')">
|
||||
<view class="value price-font">{{ memberInfo ? parseFloat(memberInfo.point) : '--' }}</view>
|
||||
<view class="title">{{ $lang('point') }}</view>
|
||||
<view class="title">{{ $lang('member.index.point') }}</view>
|
||||
</view>
|
||||
<view class="solid"></view>
|
||||
<view class="account-item" @tap.stop="redirect('/pages_tool/member/coupon')">
|
||||
<view class="value price-font">
|
||||
{{ memberInfo && memberInfo.coupon_num != undefined ? memberInfo.coupon_num : '--' }}
|
||||
</view>
|
||||
<view class="title">{{ $lang('coupon') }}</view>
|
||||
<view class="title">{{ $lang('member.index.coupon') }}</view>
|
||||
</view>
|
||||
</view>
|
||||
<!--
|
||||
@@ -172,19 +172,19 @@
|
||||
<view class="account-item" @tap.stop="redirect('/pages_tool/member/balance')">
|
||||
<view class="value price-font">{{ memberInfo ? (parseFloat(memberInfo.balance) +
|
||||
parseFloat(memberInfo.balance_money)).toFixed(2) : '--' }}</view>
|
||||
<view class="title">{{ $lang('balance') }}</view>
|
||||
<view class="title">{{ $lang('member.index.balance') }}</view>
|
||||
</view>
|
||||
<view class="solid"></view>
|
||||
<view class="account-item" @tap.stop="redirect('/pages_tool/member/point_detail')">
|
||||
<view class="value price-font">{{ memberInfo ? parseFloat(memberInfo.point) : '--' }}</view>
|
||||
<view class="title">{{ $lang('point') }}</view>
|
||||
<view class="title">{{ $lang('member.index.point') }}</view>
|
||||
</view>
|
||||
<view class="solid"></view>
|
||||
<view class="account-item" @tap.stop="redirect('/pages_tool/member/coupon')">
|
||||
<view class="value price-font">
|
||||
{{ memberInfo && memberInfo.coupon_num != undefined ? memberInfo.coupon_num : '--' }}
|
||||
</view>
|
||||
<view class="title">{{ $lang('coupon') }}</view>
|
||||
<view class="title">{{ $lang('member.index.coupon') }}</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
<block v-if="payTypeList.length">
|
||||
<view class="payment-item" v-for="(item, index) in payTypeList" :key="index" @click="payIndex = index">
|
||||
<view class="iconfont" :class="item.icon"></view>
|
||||
<text class="name">{{ $lang('components.payment.' + item.type, item.name) }}</text>
|
||||
<text class="name">{{ $lang(item.i18nKey, item.name) }}</text>
|
||||
<text class="iconfont" :class="payIndex == index ? 'icon-yuan_checked color-base-text' : 'icon-checkboxblank'"></text>
|
||||
</view>
|
||||
</block>
|
||||
@@ -65,12 +65,14 @@
|
||||
payTypeList: [{
|
||||
name: '支付宝支付',
|
||||
icon: 'icon-zhifubaozhifu-',
|
||||
type: 'alipay'
|
||||
type: 'alipay',
|
||||
i18nKey: 'components.payment.alipay'
|
||||
},
|
||||
{
|
||||
name: '微信支付',
|
||||
icon: 'icon-weixin1',
|
||||
type: 'wechatpay'
|
||||
type: 'wechatpay',
|
||||
i18nKey: 'components.payment.wechatpay'
|
||||
}
|
||||
],
|
||||
timer: null,
|
||||
@@ -80,7 +82,8 @@
|
||||
name: '微信支付',
|
||||
provider: 'wxpay',
|
||||
icon: 'icon-weixin1',
|
||||
type: 'wechatpay'
|
||||
type: 'wechatpay',
|
||||
i18nKey: 'components.payment.wechatpay'
|
||||
}],
|
||||
// #endif
|
||||
// #ifdef MP-ALIPAY
|
||||
@@ -88,7 +91,8 @@
|
||||
name: '支付宝支付',
|
||||
icon: 'icon-zhifubaozhifu-',
|
||||
type: 'alipay',
|
||||
provider: 'alipay'
|
||||
provider: 'alipay',
|
||||
i18nKey: 'components.payment.alipay'
|
||||
}],
|
||||
// #endif
|
||||
payInfo: null,
|
||||
|
||||
@@ -2,10 +2,12 @@ export const lang = {
|
||||
//title为每个页面的标题
|
||||
title: 'Profile',
|
||||
headImg: 'Avatar',
|
||||
avatar: 'Avatar',
|
||||
account: 'Account',
|
||||
nickname: 'Nickname',
|
||||
realName: 'Real Name',
|
||||
sex: 'Gender',
|
||||
gender: 'Gender',
|
||||
birthday: 'Birthday',
|
||||
password: 'Password',
|
||||
paypassword: 'Payment Password',
|
||||
|
||||
@@ -2,10 +2,12 @@ export const lang = {
|
||||
//title为每个页面的标题
|
||||
title: '个人资料',
|
||||
headImg: '头像',
|
||||
avatar: '头像',
|
||||
account: '账号',
|
||||
nickname: '昵称',
|
||||
realName: '真实姓名',
|
||||
sex: '性别',
|
||||
gender: '性别',
|
||||
birthday: '生日',
|
||||
password: '密码',
|
||||
paypassword: '支付密码',
|
||||
|
||||
@@ -41,9 +41,9 @@
|
||||
<!-- 切换视频、图片 -->
|
||||
<view class="media-mode" v-if="goodsSkuDetail.video_url != ''">
|
||||
<text :class="{ 'color-base-bg': switchMedia == 'video' }" @click="switchMedia = 'video'">{{
|
||||
$lang('video') }}</text>
|
||||
$lang('goods.detail.video') }}</text>
|
||||
<text :class="{ 'color-base-bg': switchMedia == 'img' }"
|
||||
@click="(switchMedia = 'img'), videoContext.pause()">{{ $lang('image') }}</text>
|
||||
@click="(switchMedia = 'img'), videoContext.pause()">{{ $lang('goods.detail.image') }}</text>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
@@ -65,7 +65,7 @@
|
||||
<view class="box">
|
||||
<block v-for="(item, index) in deliveryType" :key="index">
|
||||
<text
|
||||
v-if="goodsSkuDetail.support_trade_type.indexOf(index) != -1">{{ $lang('express') }}</text>
|
||||
v-if="goodsSkuDetail.support_trade_type.indexOf(index) != -1">{{ $lang('goods.detail.express') }}</text>
|
||||
<!-- {{ item.name }} -->
|
||||
</block>
|
||||
</view>
|
||||
@@ -199,7 +199,7 @@
|
||||
</view>
|
||||
</scroll-view>
|
||||
<view class="button-box">
|
||||
<button type="primary" @click="closeMerchantsServicePopup()">{{ $lang('confirm') }}</button>
|
||||
<button type="primary" @click="closeMerchantsServicePopup()">{{ $lang('goods.detail.confirm') }}</button>
|
||||
</view>
|
||||
</view>
|
||||
</uni-popup>
|
||||
@@ -363,11 +363,11 @@
|
||||
<view class="detail-tab">
|
||||
<view v-if="goodsSkuDetail.pdf_url" class="tab-item"
|
||||
:class="{ active: detailTab === 'pdf' }" @click="switchDetailTab('pdf')">
|
||||
<text class="tab-label">{{ $lang('document') }}</text>
|
||||
<text class="tab-label">{{ $lang('goods.detail.document') }}</text>
|
||||
</view>
|
||||
<view v-if="hasHtmlTab" class="tab-item"
|
||||
:class="{ active: detailTab === 'html' }" @click="switchDetailTab('html')">
|
||||
<text class="tab-label">{{ $lang('details') }}</text>
|
||||
<text class="tab-label">{{ $lang('goods.detail.details') }}</text>
|
||||
</view>
|
||||
</view>
|
||||
<view class="detail-content active">
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
<view class="cart-header" v-if="cartData.length">
|
||||
<view class="num-wrap">{{ $lang('goods.cart.totalKinds', { count: cartData[0].cartList.length }) }}</view>
|
||||
<view class="cart-action" @click="changeAction">
|
||||
{{ isAction ? $lang('complete') : $lang('edit') }}
|
||||
{{ isAction ? $lang('goods.cart.complete') : $lang('goods.cart.edit') }}
|
||||
</view>
|
||||
</view>
|
||||
<view class="cart-wrap" v-for="(siteItem, siteIndex) in cartData" :key="siteIndex">
|
||||
@@ -131,7 +131,7 @@
|
||||
</view>
|
||||
</view>
|
||||
<view class="item-del color-base-bg" :class="{ show: item.edit }"
|
||||
@click="deleteCart('single', siteIndex, cartIndex)">{{ $lang('del') }}</view>
|
||||
@click="deleteCart('single', siteIndex, cartIndex)">{{ $lang('goods.cart.del') }}</view>
|
||||
</view>
|
||||
</block>
|
||||
</view>
|
||||
@@ -235,7 +235,7 @@
|
||||
</view>
|
||||
</view>
|
||||
<view class="detail-item total">
|
||||
<view class="title">{{ $lang('total') }}</view>
|
||||
<view class="title">{{ $lang('goods.cart.total') }}</view>
|
||||
<view class="money price-font ">{{ $lang('common.currencySymbol') }}{{ discount.order_money | moneyFormat }}</view>
|
||||
</view>
|
||||
</view>
|
||||
@@ -310,11 +310,11 @@
|
||||
<view class="all-election" @click="allElection">
|
||||
<view class="iconfont" :class="checkAll ? 'icon-yuan_checked color-base-text' : 'icon-yuan_checkbox'">
|
||||
</view>
|
||||
<text>{{ $lang('allElection') }}</text>
|
||||
<text>{{ $lang('goods.cart.allElection') }}</text>
|
||||
</view>
|
||||
<view class="settlement-info" :style="{ visibility: isAction ? 'hidden' : 'visible' }">
|
||||
<view class="money">
|
||||
{{ $lang('total') }}:
|
||||
{{ $lang('goods.cart.total') }}:
|
||||
<text class="unit price-font">{{ $lang('common.currencySymbol') }}</text>
|
||||
<block v-if="Object.keys(discount).length">
|
||||
<text class="value price-font">{{ parseFloat(discount.order_money).toFixed(2).split('.')[0]
|
||||
@@ -333,14 +333,14 @@
|
||||
</view>
|
||||
</view>
|
||||
<view class="action-btn" v-if="isAction">
|
||||
<button type="primary" size="mini" class="mini" @click="deleteCart('all')">{{ $lang('del') }}</button>
|
||||
<button type="primary" size="mini" class="mini" @click="deleteCart('all')">{{ $lang('goods.cart.del') }}</button>
|
||||
</view>
|
||||
<view class="action-btn" v-else>
|
||||
<button type="primary" size="mini" class="mini" @click="settlement" v-if="totalCount != 0">
|
||||
{{ discount.coupon_info && discount.coupon_info.receive_type == 'wait' ? $lang('goods.cart.receiveCouponSettle', { count: totalCount }) : $lang('goods.cart.settleImmediately', { count: totalCount }) }}
|
||||
</button>
|
||||
<button type="primary" size="mini" class="mini" @click="settlement" disabled v-else>{{
|
||||
$lang('settlement') }}({{
|
||||
$lang('goods.cart.settlement') }}({{
|
||||
totalCount }})</button>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
@@ -48,11 +48,11 @@ export default {
|
||||
// 如果后台没配置,用默认值
|
||||
this.mpShareData = {
|
||||
appMessage: {
|
||||
title: this.$lang('shareTitle'),
|
||||
title: this.$lang('goods.category.shareTitle'),
|
||||
path: '/pages_goods/category'
|
||||
},
|
||||
timeLine: {
|
||||
title: this.$lang('shareTitle'),
|
||||
title: this.$lang('goods.category.shareTitle'),
|
||||
query: '/pages_goods/category'
|
||||
}
|
||||
};
|
||||
@@ -92,19 +92,19 @@ export default {
|
||||
},
|
||||
onShareAppMessage() {
|
||||
return this.mpShareData?.appMessage || {
|
||||
title: this.$lang('shareTitle'),
|
||||
title: this.$lang('goods.category.shareTitle'),
|
||||
path: '/pages_goods/category'
|
||||
};
|
||||
},
|
||||
onShareTimeline() {
|
||||
return this.mpShareData?.timeLine || {
|
||||
title: this.$lang('shareTitle'),
|
||||
title: this.$lang('goods.category.shareTitle'),
|
||||
query: '/pages_goods/category'
|
||||
};
|
||||
},
|
||||
onAddToFavorites() {
|
||||
return {
|
||||
title: this.$lang('shareTitle'),
|
||||
title: this.$lang('goods.category.shareTitle'),
|
||||
path: '/pages_goods/category'
|
||||
};
|
||||
}
|
||||
|
||||
@@ -14,13 +14,13 @@
|
||||
<view class="price-info">
|
||||
<view class="icon-box"><text class="iconfont icon-tutechan"></text></view>
|
||||
<view class="price-box">
|
||||
<view class="promotion-text">{{ $lang('limitedTimeDiscount') }}</view>
|
||||
<view class="sale-num" v-if="goodsSkuDetail.sale_show">{{ $lang('sold') }}{{ goodsSkuDetail.sale_num }}{{ goodsSkuDetail.unit }}</view>
|
||||
<view class="promotion-text">{{ $lang('goods.detail.limitedTimeDiscount') }}</view>
|
||||
<view class="sale-num" v-if="goodsSkuDetail.sale_show">{{ $lang('goods.detail.sold') }}{{ goodsSkuDetail.sale_num }}{{ goodsSkuDetail.unit }}</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="countdown">
|
||||
<view class="txt">{{ $lang('countdownEndsIn') }}</view>
|
||||
<view class="txt">{{ $lang('goods.detail.countdownEndsIn') }}</view>
|
||||
<view class="clockrun">
|
||||
<uni-count-down
|
||||
:day="goodsSkuDetail.discountTimeMachine.d"
|
||||
@@ -52,7 +52,7 @@
|
||||
<image :src="$util.img('public/uniapp/goods/member_vip.png')" mode="aspectFit" show-menu-by-longpress/>
|
||||
</view>
|
||||
<view class="member-price-wrap" v-if="!goodsSkuDetail.market_price_show">
|
||||
<text class="unit price-font">{{ $lang('originalPrice') }}</text>
|
||||
<text class="unit price-font">{{ $lang('goods.detail.originalPrice') }}</text>
|
||||
<text class="unit price-font">{{ $lang('common.currencySymbol') }}</text>
|
||||
<text class="money price-font">{{ goodsSkuDetail.price }}</text>
|
||||
</view>
|
||||
@@ -90,8 +90,8 @@
|
||||
<text class="tag-item">{{ goodsSkuDetail.label_name }}</text>
|
||||
</view>
|
||||
<view class="logistics-wrap">
|
||||
<text v-if="goodsSkuDetail.stock_show">{{$lang('stock')}}: {{ goodsSkuDetail.stock +goodsSkuDetail.unit}}</text>
|
||||
<text v-if="goodsSkuDetail.sale_show">{{$lang('sales')}}: {{ goodsSkuDetail.sale_num+goodsSkuDetail.unit }}</text>
|
||||
<text v-if="goodsSkuDetail.stock_show">{{$lang('goods.detail.stock')}}: {{ goodsSkuDetail.stock +goodsSkuDetail.unit}}</text>
|
||||
<text v-if="goodsSkuDetail.sale_show">{{$lang('goods.detail.sales')}}: {{ goodsSkuDetail.sale_num+goodsSkuDetail.unit }}</text>
|
||||
</view>
|
||||
<!-- 会员卡 -->
|
||||
<!-- <view class="member-card-wrap" @click="$util.redirectTo('/pages_tool/member/card_buy')" v-if="membercard">
|
||||
@@ -112,10 +112,10 @@
|
||||
goodsSkuDetail.fenxiao_detail.commission_money > 0 &&
|
||||
goodsSkuDetail.fenxiao_detail.is_commission_money == 1
|
||||
">
|
||||
<view class="title color-base-text">{{$lang('commission')}}</view>
|
||||
<view class="title color-base-text">{{$lang('goods.detail.commission')}}</view>
|
||||
<view class="commission-ratio">
|
||||
<view class="item">
|
||||
<view>One {{$lang('commissiontext')}}</view>
|
||||
<view>One {{$lang('goods.detail.commissiontext')}}</view>
|
||||
<view class="price-color">
|
||||
<text class="unit">{{ $lang('common.currencySymbol') }}</text>
|
||||
<text class="money">{{ parseFloat(goodsSkuDetail.fenxiao_detail.commission_money).toFixed(2).split('.')[0] }}</text>
|
||||
@@ -157,7 +157,7 @@
|
||||
<!--多规格-->
|
||||
<template v-slot:skuspec>
|
||||
<view class="item selected-sku-spec" @click="buyNow()">
|
||||
<view class="label">{{$lang('spec')}}</view>
|
||||
<view class="label">{{$lang('goods.detail.spec')}}</view>
|
||||
<view class="box">
|
||||
<text v-for="(item, index) in goodsSkuDetail.sku_spec_format" :key="index">{{ item.spec_name }}/{{ item.spec_value_name }}</text>
|
||||
</view>
|
||||
@@ -217,7 +217,7 @@
|
||||
<view class="group-wrap" @click="openBundlingPopup()">
|
||||
<view class="goods-cell" @click="openBundlingPopup()">
|
||||
<view class="box">
|
||||
<text class="tit">{{ $lang('comboPackage') }}</text>
|
||||
<text class="tit">{{ $lang('goods.detail.comboPackage') }}</text>
|
||||
<text>{{ bundling[0].bl_name }}</text>
|
||||
</view>
|
||||
<text class="iconfont icon-right"></text>
|
||||
@@ -257,7 +257,7 @@
|
||||
<uni-popup ref="bundlingPopup" type="bottom">
|
||||
<view class="bundling-popup-layer popup-layer">
|
||||
<view class="head-wrap" @click="closeBundlingPopup()">
|
||||
<text>{{ $lang('comboPackage') }}</text>
|
||||
<text>{{ $lang('goods.detail.comboPackage') }}</text>
|
||||
<text class="iconfont icon-close"></text>
|
||||
</view>
|
||||
<scroll-view scroll-y class="bundling-body">
|
||||
@@ -297,10 +297,10 @@
|
||||
</view>
|
||||
</scroll-view>
|
||||
<view class="bundling-price-wrap">
|
||||
<text class="label">{{ $lang('comboPrice') }}</text>
|
||||
<text class="label">{{ $lang('goods.detail.comboPrice') }}</text>
|
||||
<text class="unit price-color">{{ $lang('common.currencySymbol') }}</text>
|
||||
<text class="price price-color">{{ item.bl_price }}</text>
|
||||
<button type="primary" size="mini" class="mini" @click="toComoDetail(item.bl_id)">{{ $lang('buynow') }}</button>
|
||||
<button type="primary" size="mini" class="mini" @click="toComoDetail(item.bl_id)">{{ $lang('goods.detail.buynow') }}</button>
|
||||
</view>
|
||||
</view>
|
||||
</block>
|
||||
@@ -316,7 +316,7 @@
|
||||
<uni-popup ref="couponPopup" type="bottom">
|
||||
<view class="goods-coupon-popup-layer popup-layer">
|
||||
<view class="head-wrap" @click="closeCouponPopup()">
|
||||
<text>{{ $lang('coupons') }}</text>
|
||||
<text>{{ $lang('goods.detail.coupons') }}</text>
|
||||
<text class="iconfont icon-close"></text>
|
||||
</view>
|
||||
<scroll-view class="coupon-body" scroll-y>
|
||||
@@ -331,33 +331,33 @@
|
||||
</template>
|
||||
<template v-else-if="item.type == 'discount'">
|
||||
<text class="money">{{ parseFloat(item.discount) }}</text>
|
||||
<text class="unit">{{ $lang('discountOff') }}</text>
|
||||
<text class="unit">{{ $lang('goods.detail.discountOff') }}</text>
|
||||
</template>
|
||||
<view class="at-least">
|
||||
<template v-if="item.at_least > 0">
|
||||
{{ $lang('minSpendAvailable', { amount: item.at_least }) }}
|
||||
{{ $lang('goods.detail.minSpendAvailable', { amount: item.at_least }) }}
|
||||
</template>
|
||||
<template v-else>
|
||||
{{ $lang('noThreshold') }}
|
||||
{{ $lang('goods.detail.noThreshold') }}
|
||||
</template>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="desc-wrap">
|
||||
<view class="coupon-name">{{ item.coupon_name }}</view>
|
||||
<view v-if="item.type == 'discount' && item.discount_limit > 0" class="limit">{{ $lang('maxDiscount', { symbol: $lang('common.currencySymbol'), amount: item.discount_limit }) }}</view>
|
||||
<view class="time font-size-goods-tag" v-if="item.validity_type == 0">{{ $lang('validUntilDate', { date: $util.timeStampTurnTime(item.end_time) }) }}</view>
|
||||
<view class="time font-size-goods-tag" v-else-if="item.validity_type == 1">{{ $lang('validForDays', { days: item.fixed_term }) }}</view>
|
||||
<view class="time font-size-goods-tag" v-else>{{ $lang('validPermanent') }}</view>
|
||||
<view v-if="item.type == 'discount' && item.discount_limit > 0" class="limit">{{ $lang('goods.detail.maxDiscount', { symbol: $lang('common.currencySymbol'), amount: item.discount_limit }) }}</view>
|
||||
<view class="time font-size-goods-tag" v-if="item.validity_type == 0">{{ $lang('goods.detail.validUntilDate', { date: $util.timeStampTurnTime(item.end_time) }) }}</view>
|
||||
<view class="time font-size-goods-tag" v-else-if="item.validity_type == 1">{{ $lang('goods.detail.validForDays', { days: item.fixed_term }) }}</view>
|
||||
<view class="time font-size-goods-tag" v-else>{{ $lang('goods.detail.validPermanent') }}</view>
|
||||
</view>
|
||||
|
||||
<button type="primary" v-if="item.useState == 2" disabled>{{ $lang('couponSoldOut') }}</button>
|
||||
<button type="primary" v-else-if="item.useState == 1" disabled>{{ $lang('couponClaimed') }}</button>
|
||||
<button type="primary" v-else @click="receiveCoupon(item)">{{ $lang('couponReceive') }}</button>
|
||||
<button type="primary" v-if="item.useState == 2" disabled>{{ $lang('goods.detail.couponSoldOut') }}</button>
|
||||
<button type="primary" v-else-if="item.useState == 1" disabled>{{ $lang('goods.detail.couponClaimed') }}</button>
|
||||
<button type="primary" v-else @click="receiveCoupon(item)">{{ $lang('goods.detail.couponReceive') }}</button>
|
||||
</view>
|
||||
</view>
|
||||
</scroll-view>
|
||||
<view class="button-box"><button type="primary" @click="closeCouponPopup()">{{ $lang('confirm') }}</button></view>
|
||||
<view class="button-box"><button type="primary" @click="closeCouponPopup()">{{ $lang('goods.detail.confirm') }}</button></view>
|
||||
</view>
|
||||
</uni-popup>
|
||||
</view>
|
||||
@@ -367,24 +367,24 @@
|
||||
<uni-popup ref="manjianPopup" type="bottom">
|
||||
<view class="manjian-popup-layer popup-layer">
|
||||
<view class="head-wrap" @click="closeManjianPopup()">
|
||||
<text>{{ $lang('promotion') }}</text>
|
||||
<text>{{ $lang('goods.detail.promotion') }}</text>
|
||||
<text class="iconfont icon-close"></text>
|
||||
</view>
|
||||
<scroll-view scroll-y class="manjian-body">
|
||||
<view class="item" v-if="manjian.manjian != undefined" style="display: flex;">
|
||||
<view class="free-tip color-base-text color-base-border">{{ $lang('fullReduction') }}</view>
|
||||
<view class="free-tip color-base-text color-base-border">{{ $lang('goods.detail.fullReduction') }}</view>
|
||||
<text class="font-size-base">{{ manjian.manjian }}</text>
|
||||
</view>
|
||||
<view class="item" v-if="manjian.mansong != undefined">
|
||||
<text class="free-tip color-base-text color-base-border">{{ $lang('fullGift') }}</text>
|
||||
<text class="free-tip color-base-text color-base-border">{{ $lang('goods.detail.fullGift') }}</text>
|
||||
<text class="font-size-base">{{ manjian.mansong }}</text>
|
||||
</view>
|
||||
<view class="item" v-if="manjian.free_shipping != undefined" style="display: flex;">
|
||||
<view class="free-tip color-base-text color-base-border">{{ $lang('freeShipping') }}</view>
|
||||
<view class="free-tip color-base-text color-base-border">{{ $lang('goods.detail.freeShipping') }}</view>
|
||||
<text class="font-size-base">{{ manjian.free_shipping }}</text>
|
||||
</view>
|
||||
</scroll-view>
|
||||
<view class="button-box"><button type="primary" @click="closeManjianPopup()">{{ $lang('confirm') }}</button></view>
|
||||
<view class="button-box"><button type="primary" @click="closeManjianPopup()">{{ $lang('goods.detail.confirm') }}</button></view>
|
||||
</view>
|
||||
</uni-popup>
|
||||
</view>
|
||||
@@ -393,7 +393,7 @@
|
||||
<uni-popup ref="informationPopup" type="bottom">
|
||||
<view class="manjian-popup-layer popup-layer" :style="{ height: FormHeight }">
|
||||
<view class="head-wrap" @click="closeinformationPopup()">
|
||||
<text>{{ $lang('productMessage') }}</text>
|
||||
<text>{{ $lang('goods.detail.productMessage') }}</text>
|
||||
<text class="iconfont icon-close"></text>
|
||||
</view>
|
||||
<scroll-view scroll-y class="manjian-body" >
|
||||
@@ -414,7 +414,7 @@
|
||||
<ns-form :data="informationform" ref="form"></ns-form>
|
||||
</view>
|
||||
</scroll-view>
|
||||
<view class="button-box"><button type="primary" @click="saveubfirnation()">{{ $lang('confirm') }}</button></view>
|
||||
<view class="button-box"><button type="primary" @click="saveubfirnation()">{{ $lang('goods.detail.confirm') }}</button></view>
|
||||
</view>
|
||||
</uni-popup>
|
||||
<!-- <uni-popup ref="informationPopup" type="bottom" class="sku-layer" @change="popclose">
|
||||
@@ -439,37 +439,37 @@
|
||||
|
||||
<ns-goods-action-button
|
||||
class="goods-action-button active3"
|
||||
:disabled-text="$lang('status')"
|
||||
:disabled-text="$lang('goods.detail.status')"
|
||||
:disabled="true"
|
||||
v-if="goodsSkuDetail.store_goods_status != undefined && goodsSkuDetail.store_goods_status != 1"
|
||||
/>
|
||||
<block v-else>
|
||||
<ns-goods-action-icon :text="$lang('home')" icon="icon-shouye1" @click="goHome" />
|
||||
<ns-goods-action-icon :text="$lang('goods.detail.home')" icon="icon-shouye1" @click="goHome" />
|
||||
|
||||
<!-- #ifdef MP-WEIXIN -->
|
||||
<ns-goods-action-icon
|
||||
:text="$lang('cart')"
|
||||
:text="$lang('goods.detail.cart')"
|
||||
:cornerMarkBg="themeStyle.goods_detail.goods_cart_num_corner"
|
||||
icon="icon-gouwuche2"
|
||||
:corner-mark="cartNumber > 0 ? cartNumber + '' : ''"
|
||||
@click="goCart"
|
||||
/>
|
||||
<ns-goods-action-icon :text="$lang('kefu')" icon="icox icox-kefu" :send-data="contactData" :chatParam="chatRoomParams" />
|
||||
<ns-goods-action-icon :text="$lang('goods.detail.kefu')" icon="icox icox-kefu" :send-data="contactData" :chatParam="chatRoomParams" />
|
||||
<!-- #endif -->
|
||||
<!-- #ifdef H5 -->
|
||||
<ns-goods-action-icon :text="$lang('follow')" :icon="whetherCollection == 1 ? 'icon-likefill color-base-text' : 'icon-guanzhu'" @click="editCollection" />
|
||||
<ns-goods-action-icon :text="$lang('goods.detail.follow')" :icon="whetherCollection == 1 ? 'icon-likefill color-base-text' : 'icon-guanzhu'" @click="editCollection" />
|
||||
<!-- #endif -->
|
||||
<block v-if="goodsSkuDetail.isinformation >= 1">
|
||||
|
||||
<ns-goods-action-button v-if="goodsSkuDetail.isinformation == 1" class="goods-action-button active3" disabled-text="" backgroundColor="#54c952" @click="phoneClick(goodsSkuDetail.goods_mobile)" :text="$lang('make')" :disabled="false" />
|
||||
<ns-goods-action-button v-if="goodsSkuDetail.isinformation == 2" class="goods-action-button active3" disabled-text="" backgroundColor="#54c952" @click="showinformation" :text="$lang('leave')" :disabled="false" />
|
||||
<ns-goods-action-button v-if="goodsSkuDetail.isinformation == 3" class="goods-action-button active3" disabled-text="" backgroundColor="#54c952" @click="goToAIChat" :text="$lang('aiCustomerService')" :disabled="false" />
|
||||
<ns-goods-action-button v-if="goodsSkuDetail.isinformation == 1" class="goods-action-button active3" disabled-text="" backgroundColor="#54c952" @click="phoneClick(goodsSkuDetail.goods_mobile)" :text="$lang('goods.detail.make')" :disabled="false" />
|
||||
<ns-goods-action-button v-if="goodsSkuDetail.isinformation == 2" class="goods-action-button active3" disabled-text="" backgroundColor="#54c952" @click="showinformation" :text="$lang('goods.detail.leave')" :disabled="false" />
|
||||
<ns-goods-action-button v-if="goodsSkuDetail.isinformation == 3" class="goods-action-button active3" disabled-text="" backgroundColor="#54c952" @click="goToAIChat" :text="$lang('goods.detail.aiCustomerService')" :disabled="false" />
|
||||
<!-- <ns-goods-action-button v-if="goodsSkuDetail.isinformation == 2" class="goods-action-button active3" disabled-text="" backgroundColor="#54c952" @click="buyNow" text="商品留言" :disabled="false" /> -->
|
||||
|
||||
</block>
|
||||
<block v-else>
|
||||
<block v-if="goodsSkuDetail.stock == 0 && !goodsSkuDetail.sku_spec_format">
|
||||
<ns-goods-action-button class="goods-action-button active3" :disabled-text="$lang('sellout')" :disabled="true" />
|
||||
<ns-goods-action-button class="goods-action-button active3" :disabled-text="$lang('goods.detail.sellout')" :disabled="true" />
|
||||
</block>
|
||||
<block v-else-if="
|
||||
goodsSkuDetail.is_limit == 1 &&
|
||||
@@ -477,12 +477,12 @@
|
||||
goodsSkuDetail.max_buy != 0 &&
|
||||
goodsSkuDetail.purchased_num >= goodsSkuDetail.max_buy
|
||||
">
|
||||
<ns-goods-action-button class="goods-action-button active3" :disabled-text="$lang('max')" :disabled="true" />
|
||||
<ns-goods-action-button class="goods-action-button active3" :disabled-text="$lang('goods.detail.max')" :disabled="true" />
|
||||
</block>
|
||||
<block v-else>
|
||||
<ns-goods-action-button
|
||||
class="goods-action-button"
|
||||
:text="$lang('addcart')"
|
||||
:text="$lang('goods.detail.addcart')"
|
||||
:backgroundColor="themeStyle.goods_detail.goods_btn_color_shallow"
|
||||
@click="joinCart"
|
||||
v-if="goodsSkuDetail.is_virtual == 0"
|
||||
@@ -491,7 +491,7 @@
|
||||
class="goods-action-button"
|
||||
:backgroundColor="themeStyle.goods_detail.goods_btn_color"
|
||||
:textColor="themeStyle.btn_text_color"
|
||||
:text="$lang('buynow')"
|
||||
:text="$lang('goods.detail.buynow')"
|
||||
@click="buyNow"
|
||||
/>
|
||||
</block>
|
||||
@@ -501,7 +501,7 @@
|
||||
|
||||
</template>
|
||||
<template v-else>
|
||||
<ns-goods-action-button class="goods-action-button active3" :disabled-text="$lang('status')" :disabled="true" />
|
||||
<ns-goods-action-button class="goods-action-button active3" :disabled-text="$lang('goods.detail.status')" :disabled="true" />
|
||||
</template>
|
||||
|
||||
|
||||
@@ -520,11 +520,11 @@
|
||||
<uni-popup ref="contactPopup" type="center">
|
||||
<view class="contact-popup">
|
||||
<view class="contact-content">
|
||||
<text class="contact-text">{{ $lang('dialOnMobile', { phone: '021-51815181' }) }}</text>
|
||||
<text class="contact-text">{{ $lang('goods.detail.dialOnMobile', { phone: '021-51815181' }) }}</text>
|
||||
</view>
|
||||
<view class="contact-buttons">
|
||||
<button class="contact-btn cancel-btn" @click="closeContactPopup">{{ $lang('cancel') }}</button>
|
||||
<button class="contact-btn copy-btn" @click="copyPhoneNumber">{{ $lang('copyToClipboard') }}</button>
|
||||
<button class="contact-btn cancel-btn" @click="closeContactPopup">{{ $lang('goods.detail.cancel') }}</button>
|
||||
<button class="contact-btn copy-btn" @click="copyPhoneNumber">{{ $lang('goods.detail.copyToClipboard') }}</button>
|
||||
</view>
|
||||
</view>
|
||||
</uni-popup>
|
||||
@@ -588,7 +588,7 @@ export default {
|
||||
data: '021-51815181',
|
||||
success: () => {
|
||||
uni.showToast({
|
||||
title: this.$lang('copySuccess'),
|
||||
title: this.$lang('goods.detail.copySuccess'),
|
||||
icon: 'success'
|
||||
});
|
||||
this.closeContactPopup();
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
<view class="search-wrap uni-flex uni-row">
|
||||
<view class="flex-item input-wrap">
|
||||
<input class="uni-input" maxlength="50" v-model="keyword" @confirm="search()"
|
||||
:placeholder="$lang('Search')" />
|
||||
:placeholder="$lang('goods.list.Search')" />
|
||||
<text class="iconfont icon-sousuo3" @click.stop="search()"></text>
|
||||
</view>
|
||||
<view class="iconfont" :class="{ 'icon-apps': isList, 'icon-list': !isList }"
|
||||
@@ -16,16 +16,16 @@
|
||||
<view class="sort-wrap">
|
||||
<view class="comprehensive-wrap" :class="{ 'color-base-text': orderType === '' }"
|
||||
@click="sortTabClick('')">
|
||||
<text :class="{ 'color-base-text': orderType === '' }">{{ $lang('Random') }}</text>
|
||||
<text :class="{ 'color-base-text': orderType === '' }">{{ $lang('goods.list.Random') }}</text>
|
||||
</view>
|
||||
|
||||
<view :class="{ 'color-base-text': orderType === 'sale_num' }" @click="sortTabClick('sale_num')">
|
||||
{{ $lang('Sales') }}
|
||||
{{ $lang('goods.list.Sales') }}
|
||||
</view>
|
||||
|
||||
<view class="price-wrap" @click="sortTabClick('discount_price')">
|
||||
<text
|
||||
:class="{ 'color-base-text': orderType === 'discount_price' }">{{ $lang('Price') }}</text>
|
||||
:class="{ 'color-base-text': orderType === 'discount_price' }">{{ $lang('goods.list.Price') }}</text>
|
||||
<view class="iconfont-wrap">
|
||||
<view class="iconfont icon-iconangledown-copy asc"
|
||||
:class="{ 'color-base-text': priceOrder === 'asc' && orderType === 'discount_price' }">
|
||||
@@ -37,7 +37,7 @@
|
||||
</view>
|
||||
|
||||
<view :class="{ 'color-base-text': orderType === 'screen' }" class="screen-wrap">
|
||||
<text @click="sortTabClick('screen')">{{ $lang('Filter') }}</text>
|
||||
<text @click="sortTabClick('screen')">{{ $lang('goods.list.Filter') }}</text>
|
||||
<view @click="sortTabClick('screen')" class="iconfont-wrap">
|
||||
<view class="iconfont icon-shaixuan color-tip"></view>
|
||||
</view>
|
||||
@@ -78,7 +78,7 @@
|
||||
</view>
|
||||
<view class="pro-info" v-if="item.isinformation == 0">
|
||||
<view class="block-wrap">
|
||||
<view class="sale" v-if="item.sale_show">{{ $lang('soldCount', { count: item.sale_num, unit: item.unit || $lang('soldUnitDefault') }) }}</view>
|
||||
<view class="sale" v-if="item.sale_show">{{ $lang('goods.list.soldCount', { count: item.sale_num, unit: item.unit || $lang('goods.list.soldUnitDefault') }) }}</view>
|
||||
</view>
|
||||
<view class="cart-action-wrap" v-if="config.control && item.is_virtual == 0">
|
||||
<view class="cart buy-btn click-wrap" :id="'goods-' + item.id"
|
||||
@@ -125,7 +125,7 @@
|
||||
</view>
|
||||
<view class="pro-info" v-if="item.isinformation == 0">
|
||||
<view class="block-wrap">
|
||||
<view class="sale" v-if="item.sale_show">{{ $lang('soldCount', { count: item.sale_num, unit: item.unit || $lang('soldUnitDefault') }) }}</view>
|
||||
<view class="sale" v-if="item.sale_show">{{ $lang('goods.list.soldCount', { count: item.sale_num, unit: item.unit || $lang('goods.list.soldUnitDefault') }) }}</view>
|
||||
</view>
|
||||
<view class="cart-action-wrap" v-if="config.control && item.is_virtual == 0">
|
||||
<view class="cart buy-btn click-wrap" :id="'goods-' + item.id"
|
||||
@@ -143,7 +143,7 @@
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view v-if="goodsList.length == 0 && emptyShow"><ns-empty :text="$lang('noProducts')"></ns-empty></view>
|
||||
<view v-if="goodsList.length == 0 && emptyShow"><ns-empty :text="$lang('goods.list.noProducts')"></ns-empty></view>
|
||||
</block>
|
||||
</mescroll-uni>
|
||||
|
||||
@@ -151,7 +151,7 @@
|
||||
|
||||
<!-- 筛选弹出框 -->
|
||||
<uni-drawer :visible="showScreen" mode="right" @close="showScreen = false" class="screen-wrap">
|
||||
<view class="title color-tip">{{ $lang('Filter') }}</view>
|
||||
<view class="title color-tip">{{ $lang('goods.list.Filter') }}</view>
|
||||
<scroll-view scroll-y>
|
||||
<!-- 包邮 -->
|
||||
<!-- <view class="item-wrap">
|
||||
@@ -183,10 +183,10 @@
|
||||
|
||||
<!-- 分类筛选项 -->
|
||||
<view class="category-list-wrap">
|
||||
<text class="first">{{ $lang('allCategories') }}</text>
|
||||
<text class="first">{{ $lang('goods.list.allCategories') }}</text>
|
||||
<view class="class-box">
|
||||
<view @click="selectedCategory('')" class="list-wrap">
|
||||
<text :class="{ selected: !categoryId, 'color-base-text': !categoryId }">{{ $lang('all') }}</text>
|
||||
<text :class="{ selected: !categoryId, 'color-base-text': !categoryId }">{{ $lang('goods.list.all') }}</text>
|
||||
</view>
|
||||
<view @click="selectedCategory(item.category_id)" v-for="(item, index) in categoryList"
|
||||
:key="index" class="list-wrap">
|
||||
@@ -198,8 +198,8 @@
|
||||
</view>
|
||||
</scroll-view>
|
||||
<view class="footer" :class="{ 'safe-area': isIphoneX }">
|
||||
<button type="default" class="footer-box" @click="resetData">{{ $lang('reset') }}</button>
|
||||
<button type="primary" class="footer-box1" @click="screenData">{{ $lang('confirm') }}</button>
|
||||
<button type="default" class="footer-box" @click="resetData">{{ $lang('goods.list.reset') }}</button>
|
||||
<button type="primary" class="footer-box1" @click="screenData">{{ $lang('goods.list.confirm') }}</button>
|
||||
</view>
|
||||
</uni-drawer>
|
||||
<loading-cover ref="loadingCover"></loading-cover>
|
||||
|
||||
@@ -318,9 +318,9 @@ export default {
|
||||
|
||||
let list = this.couponList;
|
||||
if (res.data.is_exist == 1 && res.code < 0) {
|
||||
msg = this.$lang('couponAlreadyClaimed');
|
||||
msg = this.$lang('goods.detail.couponAlreadyClaimed');
|
||||
} else if (res.code == 0) {
|
||||
msg = this.$lang('couponClaimSuccess');
|
||||
msg = this.$lang('goods.detail.couponClaimSuccess');
|
||||
} else {
|
||||
msg = res.message;
|
||||
}
|
||||
@@ -362,7 +362,7 @@ export default {
|
||||
//获取满减信息
|
||||
getManjian(data) {
|
||||
this.manjian = data;
|
||||
let limit = data.type == 0 ? this.$lang('manjianUnitYuan') : this.$lang('manjianUnitPiece');
|
||||
let limit = data.type == 0 ? this.$lang('goods.detail.manjianUnitYuan') : this.$lang('goods.detail.manjianUnitPiece');
|
||||
Object.keys(data.rule_json).forEach((key) => {
|
||||
var item = data.rule_json[key];
|
||||
if (item.coupon_data) {
|
||||
@@ -373,46 +373,46 @@ export default {
|
||||
item.limit = data.type == 0 ? parseFloat(item.limit).toFixed(2) : parseInt(item.limit);
|
||||
// 满减
|
||||
if (item.discount_money != undefined) {
|
||||
let itemText = this.$lang('fullReductionItem', { limit: item.limit, unit: limit, money: item.discount_money });
|
||||
let itemText = this.$lang('goods.detail.fullReductionItem', { limit: item.limit, unit: limit, money: item.discount_money });
|
||||
if (this.manjian.manjian == undefined) {
|
||||
this.manjian.manjian = itemText;
|
||||
} else {
|
||||
this.manjian.manjian += this.$lang('manjianItemSeparator') + itemText;
|
||||
this.manjian.manjian += this.$lang('goods.detail.manjianItemSeparator') + itemText;
|
||||
}
|
||||
}
|
||||
// 满送
|
||||
if (item.point != undefined || item.coupon != undefined) {
|
||||
let text = '';
|
||||
if (item.point != undefined) {
|
||||
text = this.$lang('fullGiftPoints', { point: item.point });
|
||||
text = this.$lang('goods.detail.fullGiftPoints', { point: item.point });
|
||||
}
|
||||
if (item.coupon != undefined && item.coupon_data != undefined) {
|
||||
item.coupon_data.forEach((couponItem, couponIndex) => {
|
||||
if (couponItem.type == 'discount') {
|
||||
let couponText = this.$lang('fullGiftDiscountCoupon', { count: item.coupon_num[couponIndex], discount: parseFloat(couponItem.discount) });
|
||||
let couponText = this.$lang('goods.detail.fullGiftDiscountCoupon', { count: item.coupon_num[couponIndex], discount: parseFloat(couponItem.discount) });
|
||||
if (text == '') text = couponText;
|
||||
else text += this.$lang('fullGiftConnector') + couponText;
|
||||
else text += this.$lang('goods.detail.fullGiftConnector') + couponText;
|
||||
} else {
|
||||
let couponText = this.$lang('fullGiftMoneyCoupon', { count: item.coupon_num[couponIndex], money: parseFloat(couponItem.money) });
|
||||
let couponText = this.$lang('goods.detail.fullGiftMoneyCoupon', { count: item.coupon_num[couponIndex], money: parseFloat(couponItem.money) });
|
||||
if (text == '') text = couponText;
|
||||
else text += this.$lang('fullGiftConnector') + couponText;
|
||||
else text += this.$lang('goods.detail.fullGiftConnector') + couponText;
|
||||
}
|
||||
})
|
||||
}
|
||||
let giftItemText = this.$lang('fullGiftItem', { limit: item.limit, unit: limit, gift: text });
|
||||
let giftItemText = this.$lang('goods.detail.fullGiftItem', { limit: item.limit, unit: limit, gift: text });
|
||||
if (this.manjian.mansong == undefined) {
|
||||
this.manjian.mansong = giftItemText;
|
||||
} else {
|
||||
this.manjian.mansong += this.$lang('manjianItemSeparator') + giftItemText;
|
||||
this.manjian.mansong += this.$lang('goods.detail.manjianItemSeparator') + giftItemText;
|
||||
}
|
||||
}
|
||||
// 包邮
|
||||
if (item.free_shipping != undefined) {
|
||||
let itemText = this.$lang('freeShippingItem', { limit: item.limit, unit: limit });
|
||||
let itemText = this.$lang('goods.detail.freeShippingItem', { limit: item.limit, unit: limit });
|
||||
if (this.manjian.free_shipping == undefined) {
|
||||
this.manjian.free_shipping = itemText;
|
||||
} else {
|
||||
this.manjian.free_shipping += this.$lang('manjianItemSeparator') + itemText;
|
||||
this.manjian.free_shipping += this.$lang('goods.detail.manjianItemSeparator') + itemText;
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
@@ -76,7 +76,7 @@ export default {
|
||||
this.langstatus = res.status
|
||||
if(this.langstatus == 1){
|
||||
// this.$langConfig.refresh();
|
||||
this.$langConfig.title(this.$lang('title'));
|
||||
this.$langConfig.title(this.$lang('goods.list.title'));
|
||||
}
|
||||
}
|
||||
});
|
||||
@@ -123,7 +123,7 @@ export default {
|
||||
* 转发分享
|
||||
*/
|
||||
onShareAppMessage(res) {
|
||||
var title = this.$lang('shareTitle', { count: this.count, keyword: this.keyword + this.category_title + this.coupon_name });
|
||||
var title = this.$lang('goods.list.shareTitle', { count: this.count, keyword: this.keyword + this.category_title + this.coupon_name });
|
||||
let route = this.$util.getCurrentShareRoute(this.memberInfo ? this.memberInfo.member_id : 0);
|
||||
var path = route.path;
|
||||
return {
|
||||
@@ -137,7 +137,7 @@ export default {
|
||||
},
|
||||
// 分享到微信朋友圈
|
||||
onShareTimeline() {
|
||||
var title = this.$lang('shareTitle', { count: this.count, keyword: this.keyword + this.category_title + this.coupon_name });
|
||||
var title = this.$lang('goods.list.shareTitle', { count: this.count, keyword: this.keyword + this.category_title + this.coupon_name });
|
||||
let route = this.$util.getCurrentShareRoute(this.memberInfo ? this.memberInfo.member_id : 0);
|
||||
var query = route.query;
|
||||
return {
|
||||
@@ -362,26 +362,26 @@ export default {
|
||||
// }
|
||||
if (!Number(this.maxPrice) && this.maxPrice) {
|
||||
this.$util.showToast({
|
||||
title: this.$lang('enterMaxPrice')
|
||||
title: this.$lang('goods.list.enterMaxPrice')
|
||||
});
|
||||
return;
|
||||
}
|
||||
if (Number(this.minPrice) < 0 || Number(this.maxPrice) < 0) {
|
||||
this.$util.showToast({
|
||||
title: this.$lang('priceCannotBeNegative')
|
||||
title: this.$lang('goods.list.priceCannotBeNegative')
|
||||
});
|
||||
return;
|
||||
}
|
||||
if (this.minPrice != '' && Number(this.minPrice) > Number(this.maxPrice) && this.maxPrice) {
|
||||
|
||||
this.$util.showToast({
|
||||
title: this.$lang('minPriceGreaterThanMax')
|
||||
title: this.$lang('goods.list.minPriceGreaterThanMax')
|
||||
});
|
||||
return;
|
||||
}
|
||||
if (this.maxPrice != '' && Number(this.maxPrice) < Number(this.minPrice)) {
|
||||
this.$util.showToast({
|
||||
title: this.$lang('maxPriceLessThanMin')
|
||||
title: this.$lang('goods.list.maxPriceLessThanMin')
|
||||
});
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<view class="payment-navbar" :style="{ 'padding-top': menuButtonBounding.top + 'px', height: menuButtonBounding.height + 'px' }">
|
||||
<view class="nav-wrap">
|
||||
<text class="iconfont icon-back_light" @click="back"></text>
|
||||
<view class="navbar-title">{{ $lang('payment.title') }}</view>
|
||||
<view class="navbar-title">{{ $lang('order.payment.title') }}</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="payment-navbar-block" :style="{ height: menuButtonBounding.bottom + 'px' }"></view>
|
||||
@@ -18,14 +18,14 @@
|
||||
<view class="mobile-wrap">
|
||||
<view class="tips color-base-text">
|
||||
<text class="iconfont icongantanhao"></text>
|
||||
{{ $lang('payment.virtual.tips') }}
|
||||
{{ $lang('order.payment.virtual.tips') }}
|
||||
</view>
|
||||
<view class="form-group">
|
||||
<text class="icon">
|
||||
<image :src="$util.img('public/uniapp/order/icon-mobile.png')" mode="widthFix"></image>
|
||||
</text>
|
||||
<text class="text">{{ $lang('payment.virtual.mobile') }}</text>
|
||||
<input type="number" maxlength="11" :placeholder="$lang('payment.virtual.mobilePlaceholder')" placeholder-class="color-tip placeholder" class="input" v-model="orderCreateData.member_address.mobile" />
|
||||
<text class="text">{{ $lang('order.payment.virtual.mobile') }}</text>
|
||||
<input type="number" maxlength="11" :placeholder="$lang('order.payment.virtual.mobilePlaceholder')" placeholder-class="color-tip placeholder" class="input" v-model="orderCreateData.member_address.mobile" />
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
@@ -54,7 +54,7 @@
|
||||
<text class="cell-more iconfont icon-right"></text>
|
||||
</view>
|
||||
<view class="empty-wrap" v-else @click="selectAddress">
|
||||
<view class="info">{{ $lang('payment.address.setAddress') }}</view>
|
||||
<view class="info">{{ $lang('order.payment.address.setAddress') }}</view>
|
||||
<view class="cell-more">
|
||||
<view class="iconfont icon-right"></view>
|
||||
</view>
|
||||
@@ -67,18 +67,18 @@
|
||||
<block v-if="storeList && Object.keys(storeList).length > 1">
|
||||
<view class="local-delivery-store" v-if="storeInfo" @click="openPopup('deliveryPopup')">
|
||||
<view class="info">
|
||||
{{ $lang('payment.localDelivery.providedBy') }}
|
||||
{{ $lang('order.payment.localDelivery.providedBy') }}
|
||||
<text class="store-name">{{ storeInfo.store_name }}</text>
|
||||
{{ $lang('payment.localDelivery.deliveredBy') }}
|
||||
{{ $lang('order.payment.localDelivery.deliveredBy') }}
|
||||
</view>
|
||||
<view class="cell-more">
|
||||
<text>{{ $lang('payment.localDelivery.switchStore') }}</text>
|
||||
<text>{{ $lang('order.payment.localDelivery.switchStore') }}</text>
|
||||
<text class="iconfont icon-right"></text>
|
||||
</view>
|
||||
</view>
|
||||
<view v-else class="local-delivery-store">
|
||||
<view class="info">
|
||||
<text class="store-name">{{ $lang('payment.localDelivery.noStoreNearby') }}</text>
|
||||
<text class="store-name">{{ $lang('order.payment.localDelivery.noStoreNearby') }}</text>
|
||||
</view>
|
||||
</view>
|
||||
</block>
|
||||
@@ -97,16 +97,16 @@
|
||||
</view>
|
||||
<view class="local-box" v-if="calculateGoodsData.config.local && calculateGoodsData.delivery.local.info.time_is_open == 1">
|
||||
<view class="pick-block" @click="localtime('')">
|
||||
<view class="title font-size-base">{{ $lang('payment.address.deliveryTime') }}</view>
|
||||
<view class="title font-size-base">{{ $lang('order.payment.address.deliveryTime') }}</view>
|
||||
<view class="time-picker">
|
||||
<text :class="{ 'color-tip': !deliveryTime }">{{ deliveryTime ? deliveryTime : $lang('payment.address.selectDeliveryTime') }}</text>
|
||||
<text :class="{ 'color-tip': !deliveryTime }">{{ deliveryTime ? deliveryTime : $lang('order.payment.address.selectDeliveryTime') }}</text>
|
||||
<text class="iconfont icon-right cell-more"></text>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="empty-wrap" v-else @click="selectAddress">
|
||||
<view class="info">{{ $lang('payment.address.setAddress') }}</view>
|
||||
<view class="info">{{ $lang('order.payment.address.setAddress') }}</view>
|
||||
<view class="cell-more">
|
||||
<view class="iconfont icon-right"></view>
|
||||
</view>
|
||||
@@ -125,7 +125,7 @@
|
||||
<text>{{ storeInfo.store_name }}</text>
|
||||
</view>
|
||||
<view class="store-detail">
|
||||
<view v-if="storeInfo.open_date">{{ $lang('payment.store.businessHours') }}{{ storeInfo.open_date }}</view>
|
||||
<view v-if="storeInfo.open_date">{{ $lang('order.payment.store.businessHours') }}{{ storeInfo.open_date }}</view>
|
||||
<view class="address">{{ storeInfo.full_address }} {{ storeInfo.address }}
|
||||
</view>
|
||||
</view>
|
||||
@@ -135,25 +135,25 @@
|
||||
</view>
|
||||
<view class="mobile-wrap store-mobile" v-if="orderCreateData.member_address">
|
||||
<view class="form-group">
|
||||
<text class="text">{{ $lang('payment.store.name') }}</text>
|
||||
<text class="text">{{ $lang('order.payment.store.name') }}</text>
|
||||
<input type="text" placeholder-class="color-tip placeholder" class="input" disabled v-model="orderCreateData.member_address.name" />
|
||||
</view>
|
||||
</view>
|
||||
<view class="mobile-wrap store-mobile" v-if="orderCreateData.member_address">
|
||||
<view class="form-group">
|
||||
<text class="text">{{ $lang('payment.store.reservedMobile') }}</text>
|
||||
<input type="number" maxlength="11" :placeholder="$lang('payment.virtual.mobilePlaceholder')" placeholder-class="color-tip placeholder" class="input" v-model="orderCreateData.member_address.mobile" />
|
||||
<text class="text">{{ $lang('order.payment.store.reservedMobile') }}</text>
|
||||
<input type="number" maxlength="11" :placeholder="$lang('order.payment.virtual.mobilePlaceholder')" placeholder-class="color-tip placeholder" class="input" v-model="orderCreateData.member_address.mobile" />
|
||||
</view>
|
||||
</view>
|
||||
<view class="store-time" @click="storetime('')">
|
||||
<view class="left">{{ $lang('payment.store.pickupTime') }}</view>
|
||||
<view class="left">{{ $lang('order.payment.store.pickupTime') }}</view>
|
||||
<view class="right">
|
||||
{{ deliveryTime }}
|
||||
<text class="iconfont icon-right"></text>
|
||||
</view>
|
||||
</view>
|
||||
</block>
|
||||
<view v-else class="empty">{{ $lang('payment.store.noPickupStore') }}</view>
|
||||
<view v-else class="empty">{{ $lang('order.payment.store.noPickupStore') }}</view>
|
||||
<image class="address-line" :src="$util.img('public/uniapp/order/address-line.png')" show-menu-by-longpress></image>
|
||||
</view>
|
||||
</template>
|
||||
@@ -189,7 +189,7 @@
|
||||
goodsItem.support_trade_type.indexOf(orderCreateData.delivery.delivery_type) == -1
|
||||
">
|
||||
<text class="iconfont icon-gantanhao"></text>
|
||||
<text>{{ $lang('payment.goods.notSupportDeliveryType', { deliveryType: orderCreateData.delivery.delivery_type_name }) }}</text>
|
||||
<text>{{ $lang('order.payment.goods.notSupportDeliveryType', { deliveryType: orderCreateData.delivery.delivery_type_name }) }}</text>
|
||||
</view>
|
||||
</block>
|
||||
<view class="error-tips" v-if="goodsItem.error && goodsItem.error.message">
|
||||
@@ -224,22 +224,22 @@
|
||||
|
||||
<view class="order-money" style="margin: 0;">
|
||||
<view class="order-cell">
|
||||
<text class="tit">{{ $lang('payment.orderMoney.buyerMessage') }}</text>
|
||||
<text class="tit">{{ $lang('order.payment.orderMoney.buyerMessage') }}</text>
|
||||
<view class="box text-overflow " @click="openPopup('buyerMessagePopup')">
|
||||
<text v-if="orderCreateData.buyer_message">{{ orderCreateData.buyer_message[calculateGoodsData.merch_id] }}</text>
|
||||
<text class="color-sub" v-else>{{ $lang('payment.orderMoney.noMessage') }}</text>
|
||||
<text class="color-sub" v-else>{{ $lang('order.payment.orderMoney.noMessage') }}</text>
|
||||
</view>
|
||||
<text class="iconfont icon-right"></text>
|
||||
</view>
|
||||
<view class="order-cell coupon" v-if="modules.indexOf('coupon') != -1">
|
||||
<text class="tit">{{ $lang('payment.orderMoney.coupon') }}</text>
|
||||
<text class="tit">{{ $lang('order.payment.orderMoney.coupon') }}</text>
|
||||
<view class="box text-overflow"@click="openSiteCoupon(calculateGoodsData.merch_id)">
|
||||
<template v-if="orderCreateData.coupon[calculateGoodsData.merch_id].coupon_id">
|
||||
<text class="money price-font" style="max-width: 100%;">{{ $lang('payment.orderMoney.couponSelected', { count: 1 }) }}</text>
|
||||
<text class="money price-font" style="max-width: 100%;">{{ $lang('order.payment.orderMoney.couponSelected', { count: 1 }) }}</text>
|
||||
<!-- <text class="unit price-font">优惠</text>
|
||||
<text class="money price-font">{{ (calculateData && calculateData.coupon_money ? calculateData.coupon_money : 0) | moneyFormat }}</text> -->
|
||||
</template>
|
||||
<text v-else>{{ $lang('payment.orderMoney.noCoupon') }}</text>
|
||||
<text v-else>{{ $lang('order.payment.orderMoney.noCoupon') }}</text>
|
||||
</view>
|
||||
<text class="iconfont icon-right"></text>
|
||||
</view>
|
||||
@@ -247,8 +247,8 @@
|
||||
<view class="site-wrap buyer-message">
|
||||
<view class="order-cell">
|
||||
<view class="box shop-item">
|
||||
<text class="color-tip goods-num">{{ $lang('payment.orderMoney.totalItems', { count: calculateGoodsData.goods_num }) }}</text>
|
||||
<text class="font-size-base">{{ $lang('payment.orderMoney.subtotal') }}</text>
|
||||
<text class="color-tip goods-num">{{ $lang('order.payment.orderMoney.totalItems', { count: calculateGoodsData.goods_num }) }}</text>
|
||||
<text class="font-size-base">{{ $lang('order.payment.orderMoney.subtotal') }}</text>
|
||||
<text class="color-base-text unit">{{ $lang('common.currencySymbol') }}</text>
|
||||
<text class="color-base-text money">{{ calculateGoodsData.goods_money | moneyFormat }}</text>
|
||||
</view>
|
||||
@@ -312,10 +312,10 @@
|
||||
<view class="head" @click="selectMemberCard">
|
||||
<text class="iconfont icon-huiyuan"></text>
|
||||
<view class="info">
|
||||
{{ $lang('payment.memberCard.activate') }}{{ paymentData.recommend_member_card.level_name }}
|
||||
<text>{{ $lang('payment.memberCard.expectedSave') }}</text>
|
||||
{{ $lang('order.payment.memberCard.activate') }}{{ paymentData.recommend_member_card.level_name }}
|
||||
<text>{{ $lang('order.payment.memberCard.expectedSave') }}</text>
|
||||
<text class="price-color">{{ paymentData.recommend_member_card.discount_money | moneyFormat }}</text>
|
||||
<text>{{ $lang('payment.memberCard.yuan') }}</text>
|
||||
<text>{{ $lang('order.payment.memberCard.yuan') }}</text>
|
||||
</view>
|
||||
<text class="iconfont" :class="orderCreateData.is_open_card == 1 ? 'icon-yuan_checked color-base-text' : 'icon-yuan_checkbox'"></text>
|
||||
</view>
|
||||
@@ -332,14 +332,14 @@
|
||||
<template v-if="calculateData">
|
||||
<view class="order-money">
|
||||
<view class="order-cell">
|
||||
<text class="tit">{{ $lang('payment.orderMoney.goodsAmount') }}</text>
|
||||
<text class="tit">{{ $lang('order.payment.orderMoney.goodsAmount') }}</text>
|
||||
<view class="box">
|
||||
<text class="unit color-title price-font">{{ $lang('common.currencySymbol') }}</text>
|
||||
<text class="money color-title price-font">{{ calculateData.goods_money | moneyFormat }}</text>
|
||||
</view>
|
||||
</view>
|
||||
<view class="order-cell" v-if="calculateData.is_virtual == 0 && calculateData.delivery_money > 0">
|
||||
<text class="tit">{{ $lang('payment.orderMoney.shippingFee') }}</text>
|
||||
<text class="tit">{{ $lang('order.payment.orderMoney.shippingFee') }}</text>
|
||||
<view class="box color-base-text">
|
||||
<text class="operator">+</text>
|
||||
<text class="unit price-font">{{ $lang('common.currencySymbol') }}</text>
|
||||
@@ -366,7 +366,7 @@
|
||||
</view>
|
||||
</view> -->
|
||||
<view class="order-cell" v-if="calculateData.promotion_money > 0">
|
||||
<text class="tit">{{ $lang('payment.orderMoney.discount') }}</text>
|
||||
<text class="tit">{{ $lang('order.payment.orderMoney.discount') }}</text>
|
||||
<view class="box color-base-text">
|
||||
<text class="operator">-</text>
|
||||
<text class="unit price-font">{{ $lang('common.currencySymbol') }}</text>
|
||||
@@ -374,7 +374,7 @@
|
||||
</view>
|
||||
</view>
|
||||
<view class="order-cell" v-if="calculateData.coupon_money">
|
||||
<text class="tit">{{ $lang('payment.orderMoney.coupon') }}</text>
|
||||
<text class="tit">{{ $lang('order.payment.orderMoney.coupon') }}</text>
|
||||
<view class="box color-base-text">
|
||||
<text class="operator">-</text>
|
||||
<text class="unit price-font">{{ $lang('common.currencySymbol') }}</text>
|
||||
@@ -382,7 +382,7 @@
|
||||
</view>
|
||||
</view>
|
||||
<view class="order-cell" v-if="calculateData.point_money > 0">
|
||||
<text class="tit">{{ $lang('payment.orderMoney.pointsDeduction') }}</text>
|
||||
<text class="tit">{{ $lang('order.payment.orderMoney.pointsDeduction') }}</text>
|
||||
<view class="box color-base-text">
|
||||
<text class="operator">-</text>
|
||||
<text class="unit price-font">{{ $lang('common.currencySymbol') }}</text>
|
||||
@@ -400,18 +400,18 @@
|
||||
</view> -->
|
||||
</view>
|
||||
|
||||
<view v-if="transactionAgreement.title && transactionAgreement.content" class="agreement">{{ $lang('payment.agreement.tipPrefix') }}<text @click="$refs.agreementPopup.open()">《{{ transactionAgreement.title }}》</text>{{ $lang('payment.agreement.tipSuffix') }}</view>
|
||||
<view v-if="transactionAgreement.title && transactionAgreement.content" class="agreement">{{ $lang('order.payment.agreement.tipPrefix') }}<text @click="$refs.agreementPopup.open()">《{{ transactionAgreement.title }}》</text>{{ $lang('order.payment.agreement.tipSuffix') }}</view>
|
||||
|
||||
<view class="order-submit bottom-safe-area">
|
||||
<view class="order-settlement-info">
|
||||
<text class="font-size-base color-tip margin-right">{{ $lang('payment.settlement.totalItems', { count: calculateData.goods_num }) }}</text>
|
||||
<text class="font-size-base">{{ $lang('payment.settlement.total') }}</text>
|
||||
<text class="font-size-base color-tip margin-right">{{ $lang('order.payment.settlement.totalItems', { count: calculateData.goods_num }) }}</text>
|
||||
<text class="font-size-base">{{ $lang('order.payment.settlement.total') }}</text>
|
||||
<text class=" unit price-font">{{ $lang('common.currencySymbol') }}</text>
|
||||
<text class=" money price-font">{{ parseFloat(calculateData.pay_money).toFixed(2).split('.')[0] }}</text>
|
||||
<text class=" unit price-font">.{{ parseFloat(calculateData.pay_money).toFixed(2).split('.')[1] }}</text>
|
||||
</view>
|
||||
<view class="submit-btn">
|
||||
<button type="primary" class="mini" size="mini" @click="create()" v-if="!surplusStartMoney()">{{ $lang('payment.settlement.submitOrder') }}</button>
|
||||
<button type="primary" class="mini" size="mini" @click="create()" v-if="!surplusStartMoney()">{{ $lang('order.payment.settlement.submitOrder') }}</button>
|
||||
<!-- <button v-else class="no-submit mini" size="mini">差{{ surplusStartMoney() | moneyFormat }}起送</button> -->
|
||||
</view>
|
||||
</view>
|
||||
@@ -425,7 +425,7 @@
|
||||
<uni-popup ref="promotionPopup" type="bottom" v-if="promotionInfo">
|
||||
<view class="promotion-popup popup">
|
||||
<view class="popup-header">
|
||||
<text class="tit">{{ $lang('payment.promotionPopup.title') }}</text>
|
||||
<text class="tit">{{ $lang('order.payment.promotionPopup.title') }}</text>
|
||||
<text class="iconfont icon-close" @click="closePopup('promotionPopup')"></text>
|
||||
</view>
|
||||
<scroll-view scroll-y="true" class="popup-body" :class="{ 'safe-area': isIphoneX }">
|
||||
@@ -440,7 +440,7 @@
|
||||
</view>
|
||||
</scroll-view>
|
||||
<view class="popup-footer" :class="{ 'bottom-safe-area': isIphoneX }">
|
||||
<view class="confirm-btn color-base-bg" @click="closePopup('promotionPopup')">{{ $lang('payment.promotionPopup.confirm') }}</view>
|
||||
<view class="confirm-btn color-base-bg" @click="closePopup('promotionPopup')">{{ $lang('order.payment.promotionPopup.confirm') }}</view>
|
||||
</view>
|
||||
</view>
|
||||
</uni-popup>
|
||||
@@ -449,7 +449,7 @@
|
||||
<uni-popup ref="deliveryPopup" type="bottom">
|
||||
<view class="delivery-popup popup">
|
||||
<view class="popup-header">
|
||||
<text class="tit">{{ $lang('payment.storePopup.title') }}</text>
|
||||
<text class="tit">{{ $lang('order.payment.storePopup.title') }}</text>
|
||||
<text class="iconfont icon-close" @click="closePopup('deliveryPopup')"></text>
|
||||
</view>
|
||||
<view class="popup-body store-popup" :class="{ 'safe-area': isIphoneX }">
|
||||
@@ -465,8 +465,8 @@
|
||||
<text v-if="item.distance">({{ item.distance }}km)</text>
|
||||
</view>
|
||||
<view class="info">
|
||||
<view :class="item.store_id == orderCreateData.delivery.store_id ? 'color-base-text' : ''" class="font-size-goods-tag">{{ $lang('payment.storePopup.businessHours') }}{{ item.open_date }}</view>
|
||||
<view :class="item.store_id == orderCreateData.delivery.store_id ? 'color-base-text' : ''" class="font-size-goods-tag">{{ $lang('payment.storePopup.address') }}{{ item.full_address }}{{ item.address }}</view>
|
||||
<view :class="item.store_id == orderCreateData.delivery.store_id ? 'color-base-text' : ''" class="font-size-goods-tag">{{ $lang('order.payment.storePopup.businessHours') }}{{ item.open_date }}</view>
|
||||
<view :class="item.store_id == orderCreateData.delivery.store_id ? 'color-base-text' : ''" class="font-size-goods-tag">{{ $lang('order.payment.storePopup.address') }}{{ item.full_address }}{{ item.address }}</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="icon" v-if="item.store_id == orderCreateData.delivery.store_id">
|
||||
@@ -475,7 +475,7 @@
|
||||
</view>
|
||||
</block>
|
||||
<view v-else class="empty-wrap">
|
||||
<ns-empty :text="$lang('payment.storePopup.noStoreNearby')" :isIndex="false"></ns-empty>
|
||||
<ns-empty :text="$lang('order.payment.storePopup.noStoreNearby')" :isIndex="false"></ns-empty>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
@@ -490,20 +490,20 @@
|
||||
<uni-popup ref="buyerMessagePopup" type="bottom">
|
||||
<view style="height: auto;" class="buyermessag-popup popup" @touchmove.prevent.stop>
|
||||
<view class="popup-header">
|
||||
<text class="tit">{{ $lang('payment.buyerMessagePopup.title') }}</text>
|
||||
<text class="tit">{{ $lang('order.payment.buyerMessagePopup.title') }}</text>
|
||||
<text class="iconfont icon-close" @click="closePopup('buyerMessagePopup')"></text>
|
||||
</view>
|
||||
<scroll-view scroll-y="true" class="popup-body" :class="{ 'safe-area': isIphoneX }">
|
||||
<view>
|
||||
<view class="buyermessag-cell">
|
||||
<view class="buyermessag-form-group">
|
||||
<textarea type="text" maxlength="100" :placeholder="$lang('payment.buyerMessagePopup.placeholder')" placeholder-class="color-tip" v-model="orderCreateData.buyer_message"/>
|
||||
<textarea type="text" maxlength="100" :placeholder="$lang('order.payment.buyerMessagePopup.placeholder')" placeholder-class="color-tip" v-model="orderCreateData.buyer_message"/>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</scroll-view>
|
||||
<view class="popup-footer" @click="saveBuyerMessage" :class="{ 'bottom-safe-area': isIphoneX }">
|
||||
<view class="confirm-btn color-base-bg">{{ $lang('payment.buyerMessagePopup.confirm') }}</view>
|
||||
<view class="confirm-btn color-base-bg">{{ $lang('order.payment.buyerMessagePopup.confirm') }}</view>
|
||||
</view>
|
||||
</view>
|
||||
</uni-popup>
|
||||
@@ -512,7 +512,7 @@
|
||||
<uni-popup ref="couponPopup" type="bottom" :mask-click="false">
|
||||
<view class="coupon-popup popup" @touchmove.prevent.stop>
|
||||
<view class="popup-header">
|
||||
<text class="tit">{{ $lang('payment.couponPopup.title') }}</text>
|
||||
<text class="tit">{{ $lang('order.payment.couponPopup.title') }}</text>
|
||||
<text class="iconfont icon-close" @click="closePopup('couponPopup')"></text>
|
||||
</view>
|
||||
|
||||
@@ -533,32 +533,32 @@
|
||||
</template>
|
||||
<template v-else-if="couponItem.type == 'discount'">
|
||||
<text class="money">{{ parseFloat(couponItem.discount) }}</text>
|
||||
<text class="unit">{{ $lang('payment.couponPopup.discount') }}</text>
|
||||
<text class="unit">{{ $lang('order.payment.couponPopup.discount') }}</text>
|
||||
</template>
|
||||
<view class="at-least">
|
||||
<template v-if="couponItem.at_least > 0">
|
||||
{{ $lang('payment.couponPopup.minSpend', { amount: couponItem.at_least }) }}
|
||||
{{ $lang('order.payment.couponPopup.minSpend', { amount: couponItem.at_least }) }}
|
||||
</template>
|
||||
<template v-else>
|
||||
{{ $lang('payment.couponPopup.noThreshold') }}
|
||||
{{ $lang('order.payment.couponPopup.noThreshold') }}
|
||||
</template>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="desc-wrap">
|
||||
<view class="coupon-name">{{ couponItem.coupon_name }}</view>
|
||||
<view v-if="couponItem.type == 'discount' && couponItem.discount_limit > 0" class="limit">{{ $lang('payment.couponPopup.maxDiscount', { amount: couponItem.discount_limit }) }}</view>
|
||||
<view class="time font-size-goods-tag">{{ $lang('payment.couponPopup.validPeriod') }}{{ couponItem.end_time ? $util.timeStampTurnTime(couponItem.end_time) : $lang('payment.couponPopup.permanentValid') }}</view>
|
||||
<view v-if="couponItem.type == 'discount' && couponItem.discount_limit > 0" class="limit">{{ $lang('order.payment.couponPopup.maxDiscount', { amount: couponItem.discount_limit }) }}</view>
|
||||
<view class="time font-size-goods-tag">{{ $lang('order.payment.couponPopup.validPeriod') }}{{ couponItem.end_time ? $util.timeStampTurnTime(couponItem.end_time) : $lang('order.payment.couponPopup.permanentValid') }}</view>
|
||||
</view>
|
||||
<view class="iconfont" :class="selectCouponId == couponItem.coupon_id ? 'icon-yuan_checked color-base-text' : 'icon-yuan_checkbox'"></view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view v-else class="coupon-empty">{{ $lang('payment.couponPopup.noAvailableCoupon') }}</view>
|
||||
<view v-else class="coupon-empty">{{ $lang('order.payment.couponPopup.noAvailableCoupon') }}</view>
|
||||
</scroll-view>
|
||||
|
||||
<view class="popup-footer" :class="{ 'bottom-safe-area': isIphoneX }">
|
||||
<view class="confirm-btn color-base-bg" @click="useCpopon">{{ $lang('payment.couponPopup.confirm') }}</view>
|
||||
<view class="confirm-btn color-base-bg" @click="useCpopon">{{ $lang('order.payment.couponPopup.confirm') }}</view>
|
||||
</view>
|
||||
</view>
|
||||
</uni-popup>
|
||||
@@ -584,14 +584,14 @@
|
||||
<uni-popup ref="editFormPopup" type="bottom">
|
||||
<view style="height: auto;" class="form-popup popup" @touchmove.prevent.stop>
|
||||
<view class="popup-header">
|
||||
<text class="tit">{{ $lang('payment.formPopup.title') }}</text>
|
||||
<text class="tit">{{ $lang('order.payment.formPopup.title') }}</text>
|
||||
<text class="iconfont icon-close" @click="$refs.editFormPopup.close()"></text>
|
||||
</view>
|
||||
<scroll-view scroll-y="true" class="popup-body" :class="{ 'safe-area': isIphoneX }">
|
||||
<ns-form v-if="tempFormData" :data="tempFormData.json_data" ref="tempForm"></ns-form>
|
||||
</scroll-view>
|
||||
<view class="popup-footer" @click="saveForm" :class="{ 'bottom-safe-area': isIphoneX }">
|
||||
<view class="confirm-btn color-base-bg">{{ $lang('payment.formPopup.confirm') }}</view>
|
||||
<view class="confirm-btn color-base-bg">{{ $lang('order.payment.formPopup.confirm') }}</view>
|
||||
</view>
|
||||
</view>
|
||||
</uni-popup>
|
||||
@@ -599,7 +599,7 @@
|
||||
<uni-popup ref="memberGoodsCardPopup" type="bottom">
|
||||
<view class="member-card-popup popup" @touchmove.prevent.stop>
|
||||
<view class="popup-header">
|
||||
<text class="tit">{{ $lang('payment.memberCardPopup.title') }}</text>
|
||||
<text class="tit">{{ $lang('order.payment.memberCardPopup.title') }}</text>
|
||||
<text class="iconfont icon-close" @click="$refs.memberGoodsCardPopup.close()"></text>
|
||||
</view>
|
||||
<scroll-view scroll-y="true" class="popup-body" :class="{ 'safe-area': isIphoneX }">
|
||||
@@ -607,18 +607,18 @@
|
||||
<view class="content">
|
||||
<view class="title">{{ isEnEnv ? item.en_goods_name : item.goods_name }}</view>
|
||||
<view class="info">
|
||||
<text v-if="item.card_type == 'timecard'">{{ $lang('payment.memberCardPopup.unlimited') }}</text>
|
||||
<text v-if="item.card_type == 'oncecard'">{{ $lang('payment.memberCardPopup.remaining', { count: item.num - item.use_num }) }}</text>
|
||||
<text v-if="item.card_type == 'commoncard'">{{ $lang('payment.memberCardPopup.remaining', { count: item.total_num - item.total_use_num }) }}</text>
|
||||
<text v-if="item.card_type == 'timecard'">{{ $lang('order.payment.memberCardPopup.unlimited') }}</text>
|
||||
<text v-if="item.card_type == 'oncecard'">{{ $lang('order.payment.memberCardPopup.remaining', { count: item.num - item.use_num }) }}</text>
|
||||
<text v-if="item.card_type == 'commoncard'">{{ $lang('order.payment.memberCardPopup.remaining', { count: item.total_num - item.total_use_num }) }}</text>
|
||||
<text>|</text>
|
||||
<text>{{ item.end_time ? $util.timeStampTurnTime(item.end_time) : $lang('payment.memberCardPopup.permanentValid') }}</text>
|
||||
<text>{{ item.end_time ? $util.timeStampTurnTime(item.end_time) : $lang('order.payment.memberCardPopup.permanentValid') }}</text>
|
||||
</view>
|
||||
</view>
|
||||
<view class="iconfont" :class="selectGoodsCard.itemId == item.item_id ? 'icon-yuan_checked color-base-text' : 'icon-yuan_checkbox'"></view>
|
||||
</view>
|
||||
</scroll-view>
|
||||
<view class="popup-footer" @click="saveMemberGoodsCard" :class="{ 'bottom-safe-area': isIphoneX }">
|
||||
<view class="confirm-btn color-base-bg">{{ $lang('payment.memberCardPopup.confirm') }}</view>
|
||||
<view class="confirm-btn color-base-bg">{{ $lang('order.payment.memberCardPopup.confirm') }}</view>
|
||||
</view>
|
||||
</view>
|
||||
</uni-popup>
|
||||
|
||||
@@ -131,32 +131,32 @@ export default {
|
||||
charge_rule_arr.push({
|
||||
'key': key,
|
||||
'value': charge_rule[key],
|
||||
'title': this.$lang('payment.memberCard.weekCard'),
|
||||
unit: this.$lang('payment.memberCard.week')
|
||||
'title': this.$lang('order.payment.memberCard.weekCard'),
|
||||
unit: this.$lang('order.payment.memberCard.week')
|
||||
});
|
||||
break;
|
||||
case 'month':
|
||||
charge_rule_arr.push({
|
||||
'key': key,
|
||||
'value': charge_rule[key],
|
||||
'title': this.$lang('payment.memberCard.monthCard'),
|
||||
unit: this.$lang('payment.memberCard.month')
|
||||
'title': this.$lang('order.payment.memberCard.monthCard'),
|
||||
unit: this.$lang('order.payment.memberCard.month')
|
||||
});
|
||||
break;
|
||||
case 'quarter':
|
||||
charge_rule_arr.push({
|
||||
'key': key,
|
||||
'value': charge_rule[key],
|
||||
'title': this.$lang('payment.memberCard.quarterCard'),
|
||||
unit: this.$lang('payment.memberCard.quarter')
|
||||
'title': this.$lang('order.payment.memberCard.quarterCard'),
|
||||
unit: this.$lang('order.payment.memberCard.quarter')
|
||||
});
|
||||
break;
|
||||
case 'year':
|
||||
charge_rule_arr.push({
|
||||
'key': key,
|
||||
'value': charge_rule[key],
|
||||
'title': this.$lang('payment.memberCard.yearCard'),
|
||||
unit: this.$lang('payment.memberCard.year')
|
||||
'title': this.$lang('order.payment.memberCard.yearCard'),
|
||||
unit: this.$lang('order.payment.memberCard.year')
|
||||
});
|
||||
break;
|
||||
}
|
||||
@@ -484,20 +484,20 @@ export default {
|
||||
if (this.paymentData.is_virtual == 1) {
|
||||
if (!this.orderCreateData.member_address.mobile) {
|
||||
this.$util.showToast({
|
||||
title: this.$lang('payment.toast.enterReservedMobile')
|
||||
title: this.$lang('order.payment.toast.enterReservedMobile')
|
||||
});
|
||||
return false;
|
||||
}
|
||||
if (!this.$util.verifyMobile(this.orderCreateData.member_address.mobile)) {
|
||||
this.$util.showToast({
|
||||
title: this.$lang('payment.toast.enterValidMobile')
|
||||
title: this.$lang('order.payment.toast.enterValidMobile')
|
||||
});
|
||||
return false;
|
||||
}
|
||||
} else {
|
||||
if (!this.orderCreateData.delivery || !this.orderCreateData.delivery.delivery_type) {
|
||||
this.$util.showToast({
|
||||
title: this.$lang('payment.toast.noDeliveryMethod')
|
||||
title: this.$lang('order.payment.toast.noDeliveryMethod')
|
||||
});
|
||||
return false;
|
||||
}
|
||||
@@ -506,7 +506,7 @@ export default {
|
||||
(this.orderCreateData.delivery.delivery_type == 'local' && !this.localMemberAddress)
|
||||
) {
|
||||
this.$util.showToast({
|
||||
title: this.$lang('payment.toast.selectAddressFirst')
|
||||
title: this.$lang('order.payment.toast.selectAddressFirst')
|
||||
});
|
||||
return false;
|
||||
}
|
||||
@@ -514,25 +514,25 @@ export default {
|
||||
if (this.orderCreateData.delivery.delivery_type == 'store') {
|
||||
if (!this.orderCreateData.delivery.store_id) {
|
||||
this.$util.showToast({
|
||||
title: this.$lang('payment.toast.noPickupStore')
|
||||
title: this.$lang('order.payment.toast.noPickupStore')
|
||||
});
|
||||
return false;
|
||||
}
|
||||
if (!this.orderCreateData.member_address.mobile) {
|
||||
this.$util.showToast({
|
||||
title: this.$lang('payment.toast.enterReservedMobile')
|
||||
title: this.$lang('order.payment.toast.enterReservedMobile')
|
||||
});
|
||||
return false;
|
||||
}
|
||||
if (!this.$util.verifyMobile(this.orderCreateData.member_address.mobile)) {
|
||||
this.$util.showToast({
|
||||
title: this.$lang('payment.toast.enterValidMobile')
|
||||
title: this.$lang('order.payment.toast.enterValidMobile')
|
||||
});
|
||||
return false;
|
||||
}
|
||||
if (!this.deliveryTime) {
|
||||
this.$util.showToast({
|
||||
title: this.$lang('payment.toast.selectPickupTime')
|
||||
title: this.$lang('order.payment.toast.selectPickupTime')
|
||||
});
|
||||
return false;
|
||||
}
|
||||
@@ -541,13 +541,13 @@ export default {
|
||||
if (this.orderCreateData.delivery.delivery_type == 'local') {
|
||||
if (!this.orderCreateData.delivery.store_id) {
|
||||
this.$util.showToast({
|
||||
title: this.$lang('payment.toast.noDeliveryStore')
|
||||
title: this.$lang('order.payment.toast.noDeliveryStore')
|
||||
});
|
||||
return false;
|
||||
}
|
||||
if (this.calculateGoodsData.config.local.is_use && this.calculateGoodsData.delivery.local.info.time_is_open == 1 && !this.deliveryTime) {
|
||||
this.$util.showToast({
|
||||
title: this.$lang('payment.toast.selectDeliveryTime')
|
||||
title: this.$lang('order.payment.toast.selectDeliveryTime')
|
||||
});
|
||||
return false;
|
||||
}
|
||||
@@ -837,25 +837,25 @@ export default {
|
||||
invoiceVerify() {
|
||||
if (!this.orderCreateData.invoice_title) {
|
||||
this.$util.showToast({
|
||||
title: this.$lang('payment.toast.enterInvoiceTitle')
|
||||
title: this.$lang('order.payment.toast.enterInvoiceTitle')
|
||||
});
|
||||
return false;
|
||||
}
|
||||
if (!this.orderCreateData.taxpayer_number && this.orderCreateData.invoice_title_type == 2) {
|
||||
this.$util.showToast({
|
||||
title: this.$lang('payment.toast.enterTaxpayerNumber')
|
||||
title: this.$lang('order.payment.toast.enterTaxpayerNumber')
|
||||
});
|
||||
return false;
|
||||
}
|
||||
if (this.orderCreateData.invoice_type == 1 && !this.orderCreateData.invoice_full_address && this.paymentData.is_virtual == 1) {
|
||||
this.$util.showToast({
|
||||
title: this.$lang('payment.toast.enterInvoiceAddress')
|
||||
title: this.$lang('order.payment.toast.enterInvoiceAddress')
|
||||
});
|
||||
return false;
|
||||
}
|
||||
if (this.orderCreateData.invoice_type == 2 && !this.orderCreateData.invoice_email) {
|
||||
this.$util.showToast({
|
||||
title: this.$lang('payment.toast.enterEmail')
|
||||
title: this.$lang('order.payment.toast.enterEmail')
|
||||
});
|
||||
return false;
|
||||
}
|
||||
@@ -863,14 +863,14 @@ export default {
|
||||
var reg = /^([a-zA-Z]|[0-9])(\w|\-)+@[a-zA-Z0-9]+\.([a-zA-Z]{2,4})$/;
|
||||
if (!reg.test(this.orderCreateData.invoice_email)) {
|
||||
this.$util.showToast({
|
||||
title: this.$lang('payment.toast.enterValidEmail')
|
||||
title: this.$lang('order.payment.toast.enterValidEmail')
|
||||
});
|
||||
return false;
|
||||
}
|
||||
}
|
||||
if (!this.orderCreateData.invoice_content) {
|
||||
this.$util.showToast({
|
||||
title: this.$lang('payment.toast.selectInvoiceContent')
|
||||
title: this.$lang('order.payment.toast.selectInvoiceContent')
|
||||
});
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -11,13 +11,13 @@
|
||||
<text v-if="orderData.promotion_status_name">({{ orderData.promotion_status_name }})</text>
|
||||
</view>
|
||||
<view class="desc" v-if="orderData.promotion_type == 'presale' && orderData.order_status == 1">
|
||||
{{ $lang('status.estimatedDelivery', { days: $util.timeStampTurnTime(orderData.predict_delivery_time, true) }) }}
|
||||
{{ $lang('order.detail.status.estimatedDelivery', { days: $util.timeStampTurnTime(orderData.predict_delivery_time, true) }) }}
|
||||
</view>
|
||||
<view class="desc" v-if="orderData.close_cause">{{ $lang('status.orderCloseReason') }}{{ orderData.close_cause }}</view>
|
||||
<view class="desc" v-if="orderData.close_cause">{{ $lang('order.detail.status.orderCloseReason') }}{{ orderData.close_cause }}</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="order-time" v-if="orderData.order_status == 0" id="action-date">
|
||||
{{ $lang('status.remainingTime') }}
|
||||
{{ $lang('order.detail.status.remainingTime') }}
|
||||
<uni-count-down :day="orderData.closeTimeMachine.d" :hour="orderData.closeTimeMachine.h"
|
||||
:minute="orderData.closeTimeMachine.i" :second="orderData.closeTimeMachine.s" color="#fff"
|
||||
splitorColor="#fff" />
|
||||
@@ -34,21 +34,21 @@
|
||||
<text class="font-size-base">{{ orderData.name }} {{ orderData.mobile }}</text>
|
||||
</view>
|
||||
<view class="detail">
|
||||
<text class="font-size-base">{{ $lang('address.receivingAddress') }}{{ orderData.full_address }} {{ orderData.address }}</text>
|
||||
<text class="font-size-base">{{ $lang('order.detail.address.receivingAddress') }}{{ orderData.full_address }} {{ orderData.address }}</text>
|
||||
</view>
|
||||
</view>
|
||||
<template v-if="orderData.order_type == 3">
|
||||
<view class="pick-block first-pick-block">
|
||||
<view class="font-size-base">{{ $lang('address.deliveryTime') }}</view>
|
||||
<view class="font-size-base">{{ $lang('order.detail.address.deliveryTime') }}</view>
|
||||
<view class="last-child">{{ orderData.buyer_ask_delivery_time }}</view>
|
||||
</view>
|
||||
<block v-if="orderData.package_list">
|
||||
<view class="pick-block">
|
||||
<view>{{ $lang('address.deliverer') }}</view>
|
||||
<view>{{ $lang('order.detail.address.deliverer') }}</view>
|
||||
<view class="last-child">{{ orderData.package_list.deliverer }}</view>
|
||||
</view>
|
||||
<view class="pick-block">
|
||||
<view>{{ $lang('address.delivererMobile') }}</view>
|
||||
<view>{{ $lang('order.detail.address.delivererMobile') }}</view>
|
||||
<view class="last-child">{{ orderData.package_list.deliverer_mobile }}</view>
|
||||
</view>
|
||||
</block>
|
||||
@@ -74,27 +74,27 @@
|
||||
</view>
|
||||
<view class="detail store-detail">
|
||||
<view class="color-tip" v-if="orderData.delivery_store_info.open_date">
|
||||
{{ $lang('store.businessHours') }}{{ orderData.delivery_store_info.open_date }}</view>
|
||||
<view class="color-tip">{{ $lang('store.address') }}{{ orderData.delivery_store_info.full_address }}</view>
|
||||
{{ $lang('order.detail.store.businessHours') }}{{ orderData.delivery_store_info.open_date }}</view>
|
||||
<view class="color-tip">{{ $lang('order.detail.store.address') }}{{ orderData.delivery_store_info.full_address }}</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view v-else>
|
||||
<view class="address-empty">
|
||||
<view class="color-base-text">{{ $lang('store.noPickupStore') }}</view>
|
||||
<view class="color-base-text">{{ $lang('order.detail.store.noPickupStore') }}</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="pick-block first-pick-block">
|
||||
<view class="font-size-base">{{ $lang('store.pickupName') }}</view>
|
||||
<view class="font-size-base">{{ $lang('order.detail.store.pickupName') }}</view>
|
||||
<input class="last-child" type="text" disabled :value="orderData.name" />
|
||||
</view>
|
||||
<view class="pick-block first-pick-block">
|
||||
<view class="font-size-base">{{ $lang('store.reservedMobile') }}</view>
|
||||
<view class="font-size-base">{{ $lang('order.detail.store.reservedMobile') }}</view>
|
||||
<input class="last-child" type="number" disabled :value="orderData.mobile" />
|
||||
</view>
|
||||
<view class="pick-block first-pick-block">
|
||||
<view class="font-size-base">{{ $lang('store.pickupTime') }}</view>
|
||||
<view class="font-size-base">{{ $lang('order.detail.store.pickupTime') }}</view>
|
||||
<input class="last-child" disabled :value="orderData.buyer_ask_delivery_time" />
|
||||
</view>
|
||||
</view>
|
||||
@@ -103,10 +103,10 @@
|
||||
<view class="pickup-code-info">
|
||||
<view class="info">
|
||||
<text class="font-size-base">
|
||||
<text class="color-tip font-size-base">{{ $lang('store.pickupCode') }}</text>
|
||||
<text class="color-tip font-size-base">{{ $lang('order.detail.store.pickupCode') }}</text>
|
||||
{{ orderData.delivery_code }}
|
||||
</text>
|
||||
<text class="copy" @click="$util.copy(orderData.delivery_code)">{{ $lang('button.copy') }}</text>
|
||||
<text class="copy" @click="$util.copy(orderData.delivery_code)">{{ $lang('order.detail.button.copy') }}</text>
|
||||
</view>
|
||||
<view class="code">
|
||||
<image :src="$util.img(orderData.pickup_barcode)"
|
||||
@@ -156,7 +156,7 @@
|
||||
</view>
|
||||
</view>
|
||||
<view v-if="goodsItem.card_item_id" class="goods-card">
|
||||
{{ $lang('goods.cardDeduction') }}
|
||||
{{ $lang('order.detail.goods.cardDeduction') }}
|
||||
<text class="goods-price ">
|
||||
<text class="unit price-style small">-{{ $lang('common.currencySymbol') }}</text>
|
||||
<text class="price-style large">{{
|
||||
@@ -170,7 +170,7 @@
|
||||
|
||||
<view class="goods-form" v-if="goodsItem.form">
|
||||
<view class="order-cell" v-for="(item, index) in goodsItem.form" :key="index">
|
||||
<text class="tit">{{ $lang('form.labelWithColon', { label: item.value.title }) }}</text>
|
||||
<text class="tit">{{ $lang('order.detail.form.labelWithColon', { label: item.value.title }) }}</text>
|
||||
<view class="box img-box" v-if="item.controller == 'Img'">
|
||||
<view class="img" v-for="(img, imgIndex) in item.img_lists" :key="imgIndex">
|
||||
<image :src="$util.img(img)" mode="widthFix"
|
||||
@@ -179,7 +179,7 @@
|
||||
</view>
|
||||
<view class="box" v-else>
|
||||
<text class="color-title">{{ item.val }}</text>
|
||||
<text class="copy" @click="$util.copy(item.val)">{{ $lang('button.copy') }}</text>
|
||||
<text class="copy" @click="$util.copy(item.val)">{{ $lang('order.detail.button.copy') }}</text>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
@@ -189,13 +189,13 @@
|
||||
<view @click="goRefund(goodsItem.order_goods_id)"
|
||||
v-if="orderData.order_scene == 'online' && (goodsItem.refund_status == 0 || goodsItem.refund_status == -1)">
|
||||
<view class="order-box-btn" v-if="orderData.promotion_type != 'blindbox'">
|
||||
{{ orderData.order_status == 10 ? $lang('goods.applyAfterSales') : $lang('goods.applyRefund') }}
|
||||
{{ orderData.order_status == 10 ? $lang('order.detail.goods.applyAfterSales') : $lang('order.detail.goods.applyRefund') }}
|
||||
</view>
|
||||
</view>
|
||||
</block>
|
||||
<view @click="goRefundDetail(goodsItem.order_goods_id)"
|
||||
v-if="goodsItem.refund_status != 0 && goodsItem.refund_status != -1">
|
||||
<view class="order-box-btn">{{ orderData.order_status == 10 ? $lang('goods.viewAfterSales') : $lang('goods.viewRefund') }}</view>
|
||||
<view class="order-box-btn">{{ orderData.order_status == 10 ? $lang('order.detail.goods.viewAfterSales') : $lang('order.detail.goods.viewRefund') }}</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
@@ -205,32 +205,32 @@
|
||||
<!-- 订单概况 -->
|
||||
<view class="order-summary">
|
||||
<view class="order-cell">
|
||||
<text class="tit">{{ $lang('orderInfo.orderType') }}</text>
|
||||
<text class="tit">{{ $lang('order.detail.orderInfo.orderType') }}</text>
|
||||
<view class="box">
|
||||
<text class="color-title">{{ orderData.order_type_name }}</text>
|
||||
</view>
|
||||
</view>
|
||||
<view class="order-cell">
|
||||
<text class="tit">{{ $lang('orderInfo.orderNo') }}</text>
|
||||
<text class="tit">{{ $lang('order.detail.orderInfo.orderNo') }}</text>
|
||||
<view class="box">
|
||||
<text class="color-title">{{ orderData.order_no }}</text>
|
||||
<view class="copy" @click="$util.copy(orderData.order_no)">{{ $lang('button.copy') }}</view>
|
||||
<view class="copy" @click="$util.copy(orderData.order_no)">{{ $lang('order.detail.button.copy') }}</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="order-cell">
|
||||
<text class="tit">{{ $lang('orderInfo.outTradeNo') }}</text>
|
||||
<text class="tit">{{ $lang('order.detail.orderInfo.outTradeNo') }}</text>
|
||||
<view class="box">
|
||||
<text class="color-title">{{ orderData.out_trade_no }}</text>
|
||||
</view>
|
||||
</view>
|
||||
<view class="order-cell">
|
||||
<text class="tit">{{ $lang('orderInfo.createTime') }}</text>
|
||||
<text class="tit">{{ $lang('order.detail.orderInfo.createTime') }}</text>
|
||||
<view class="box">
|
||||
<text class="color-title">{{ $util.timeStampTurnTime(orderData.create_time) }}</text>
|
||||
</view>
|
||||
</view>
|
||||
<view class="order-cell" v-if="orderData.close_time > 0">
|
||||
<text class="tit">{{ $lang('orderInfo.closeTime') }}</text>
|
||||
<text class="tit">{{ $lang('order.detail.orderInfo.closeTime') }}</text>
|
||||
<view class="box">
|
||||
<text class="color-title">{{ $util.timeStampTurnTime(orderData.close_time) }}</text>
|
||||
</view>
|
||||
@@ -238,32 +238,32 @@
|
||||
<block v-if="orderData.pay_status > 0">
|
||||
<view class="hr"></view>
|
||||
<view class="order-cell">
|
||||
<text class="tit">{{ $lang('orderInfo.payType') }}</text>
|
||||
<text class="tit">{{ $lang('order.detail.orderInfo.payType') }}</text>
|
||||
<view class="box">
|
||||
<text class="color-title">{{ orderData.pay_type_name }}</text>
|
||||
</view>
|
||||
</view>
|
||||
<view class="order-cell">
|
||||
<text class="tit">{{ $lang('orderInfo.payTime') }}</text>
|
||||
<text class="tit">{{ $lang('order.detail.orderInfo.payTime') }}</text>
|
||||
<view class="box">
|
||||
<text class="color-title">{{ $util.timeStampTurnTime(orderData.pay_time) }}</text>
|
||||
</view>
|
||||
</view>
|
||||
</block>
|
||||
<view class="order-cell" v-if="orderData.delivery_type_name">
|
||||
<text class="tit">{{ $lang('orderInfo.deliveryType') }}</text>
|
||||
<text class="tit">{{ $lang('order.detail.orderInfo.deliveryType') }}</text>
|
||||
<view class="box">
|
||||
<text class="color-title">{{ orderData.delivery_type_name }}</text>
|
||||
</view>
|
||||
</view>
|
||||
<view class="order-cell" v-if="orderData.buyer_message != ''">
|
||||
<text class="tit">{{ $lang('orderInfo.buyerMessage') }}</text>
|
||||
<text class="tit">{{ $lang('order.detail.orderInfo.buyerMessage') }}</text>
|
||||
<view class="box">
|
||||
<text class="color-title">{{ orderData.buyer_message }}</text>
|
||||
</view>
|
||||
</view>
|
||||
<view class="order-cell" v-if="orderData.promotion_type_name != ''">
|
||||
<text class="tit">{{ $lang('orderInfo.promotionDiscount') }}</text>
|
||||
<text class="tit">{{ $lang('order.detail.orderInfo.promotionDiscount') }}</text>
|
||||
<view class="box">
|
||||
<text class="color-title">{{ orderData.promotion_type_name }}</text>
|
||||
</view>
|
||||
@@ -271,38 +271,38 @@
|
||||
<block v-if="orderData.is_invoice > 0">
|
||||
<view class="hr"></view>
|
||||
<view class="order-cell">
|
||||
<text class="tit">{{ $lang('orderInfo.invoiceType') }}</text>
|
||||
<text class="tit">{{ $lang('order.detail.orderInfo.invoiceType') }}</text>
|
||||
<view class="box">
|
||||
<text class="color-title">{{ orderData.invoice_type == 1 ? $lang('orderInfo.invoiceTypePaper') : $lang('orderInfo.invoiceTypeElectronic') }}</text>
|
||||
<text class="color-title">{{ orderData.invoice_type == 1 ? $lang('order.detail.orderInfo.invoiceTypePaper') : $lang('order.detail.orderInfo.invoiceTypeElectronic') }}</text>
|
||||
</view>
|
||||
</view>
|
||||
<view class="order-cell">
|
||||
<text class="tit">{{ $lang('orderInfo.invoiceTitleType') }}</text>
|
||||
<text class="tit">{{ $lang('order.detail.orderInfo.invoiceTitleType') }}</text>
|
||||
<view class="box">
|
||||
<text class="color-title">{{ orderData.invoice_title_type == 1 ? $lang('orderInfo.invoiceTitlePersonal') : $lang('orderInfo.invoiceTitleCompany') }}</text>
|
||||
<text class="color-title">{{ orderData.invoice_title_type == 1 ? $lang('order.detail.orderInfo.invoiceTitlePersonal') : $lang('order.detail.orderInfo.invoiceTitleCompany') }}</text>
|
||||
</view>
|
||||
</view>
|
||||
<view class="order-cell">
|
||||
<text class="tit">{{ $lang('orderInfo.invoiceTitle') }}</text>
|
||||
<text class="tit">{{ $lang('order.detail.orderInfo.invoiceTitle') }}</text>
|
||||
<view class="box">
|
||||
<text class="color-title">{{ orderData.invoice_title }}</text>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="order-cell">
|
||||
<text class="tit">{{ $lang('orderInfo.invoiceContent') }}</text>
|
||||
<text class="tit">{{ $lang('order.detail.orderInfo.invoiceContent') }}</text>
|
||||
<view class="box">
|
||||
<text class="color-title">{{ orderData.invoice_content }}</text>
|
||||
</view>
|
||||
</view>
|
||||
<view class="order-cell" v-if="orderData.invoice_type == 1">
|
||||
<text class="tit">{{ $lang('orderInfo.invoiceMailAddress') }}</text>
|
||||
<text class="tit">{{ $lang('order.detail.orderInfo.invoiceMailAddress') }}</text>
|
||||
<view class="box">
|
||||
<text class="color-title">{{ orderData.invoice_full_address }}</text>
|
||||
</view>
|
||||
</view>
|
||||
<view class="order-cell" v-else>
|
||||
<text class="tit">{{ $lang('orderInfo.invoiceEmail') }}</text>
|
||||
<text class="tit">{{ $lang('order.detail.orderInfo.invoiceEmail') }}</text>
|
||||
<view class="box">
|
||||
<text class="color-title">{{ orderData.invoice_email }}</text>
|
||||
</view>
|
||||
@@ -311,7 +311,7 @@
|
||||
<block v-if="orderData.form">
|
||||
<view class="hr"></view>
|
||||
<view class="order-cell order-form" v-for="(item, index) in orderData.form" :key="index">
|
||||
<text class="tit">{{ $lang('form.labelWithColon', { label: item.value.title }) }}</text>
|
||||
<text class="tit">{{ $lang('order.detail.form.labelWithColon', { label: item.value.title }) }}</text>
|
||||
<view class="box img-box" v-if="item.controller == 'Img'">
|
||||
<view class="img" v-for="(img, imgIndex) in item.img_lists" :key="imgIndex">
|
||||
<image :src="$util.img(img)" mode="widthFix" @click="previewMedia($util.img(img))" show-menu-by-longpress></image>
|
||||
@@ -319,16 +319,16 @@
|
||||
</view>
|
||||
<view class="box" v-else>
|
||||
<text class="color-title">{{ item.val }}</text>
|
||||
<text class="copy" @click="$util.copy(item.val)">{{ $lang('button.copy') }}</text>
|
||||
<text class="copy" @click="$util.copy(item.val)">{{ $lang('order.detail.button.copy') }}</text>
|
||||
</view>
|
||||
</view>
|
||||
</block>
|
||||
|
||||
<block v-if="orderData.goods_class == 5">
|
||||
<view class="order-cell">
|
||||
<text class="tit">{{ $lang('orderInfo.myCardPack') }}</text>
|
||||
<text class="tit">{{ $lang('order.detail.orderInfo.myCardPack') }}</text>
|
||||
<view class="box"><text class="color-base-text"
|
||||
@click="$util.redirectTo('/pages_promotion/cardservice/card/my_card')">{{ $lang('orderInfo.view') }}</text></view>
|
||||
@click="$util.redirectTo('/pages_promotion/cardservice/card/my_card')">{{ $lang('order.detail.orderInfo.view') }}</text></view>
|
||||
</view>
|
||||
</block>
|
||||
<!-- 联系客服 -->
|
||||
@@ -347,74 +347,74 @@
|
||||
<view class="code">
|
||||
<image :src="$util.img(orderData.virtualgoods_barcode)" class="barcode" mode="widthFix" show-menu-by-longpress></image>
|
||||
<image :src="$util.img(orderData.virtualgoods)" class="qrcode" mode="widthFix" show-menu-by-longpress></image>
|
||||
<text>{{ $lang('virtualGoods.showCodeToVerifier') }}</text>
|
||||
<text>{{ $lang('order.detail.virtualGoods.showCodeToVerifier') }}</text>
|
||||
</view>
|
||||
<view class="hr"></view>
|
||||
<view class="wrap">
|
||||
<text class="font-size-base virtual-code">{{ orderData.virtual_code }}</text>
|
||||
<view class="copy" @click="$util.copy(orderData.virtual_code)">{{ $lang('button.copy') }}</view>
|
||||
<view class="copy" @click="$util.copy(orderData.virtual_code)">{{ $lang('order.detail.button.copy') }}</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="verify-info-wrap">
|
||||
<view class="head">{{ $lang('virtualGoods.verifyInfo') }}</view>
|
||||
<view class="head">{{ $lang('order.detail.virtualGoods.verifyInfo') }}</view>
|
||||
<view class="order-cell">
|
||||
<text class="tit">{{ $lang('virtualGoods.verifyCount') }}</text>
|
||||
<text class="tit">{{ $lang('order.detail.virtualGoods.verifyCount') }}</text>
|
||||
<view class="box align-right">
|
||||
<text class="color-title">
|
||||
{{ $lang('virtualGoods.verifyCountText', { remaining: orderData.virtual_goods.verify_total_count - orderData.virtual_goods.verify_use_num, total: orderData.virtual_goods.verify_total_count }) }}
|
||||
{{ $lang('order.detail.virtualGoods.verifyCountText', { remaining: orderData.virtual_goods.verify_total_count - orderData.virtual_goods.verify_use_num, total: orderData.virtual_goods.verify_total_count }) }}
|
||||
</text>
|
||||
</view>
|
||||
</view>
|
||||
<view class="order-cell">
|
||||
<text class="tit">{{ $lang('virtualGoods.validPeriod') }}</text>
|
||||
<text class="tit">{{ $lang('order.detail.virtualGoods.validPeriod') }}</text>
|
||||
<view class="box align-right">
|
||||
<text class="color-title" v-if="orderData.virtual_goods.expire_time > 0">{{
|
||||
$util.timeStampTurnTime(orderData.virtual_goods.expire_time) }}</text>
|
||||
<text v-else>{{ $lang('virtualGoods.permanentValid') }}</text>
|
||||
<text v-else>{{ $lang('order.detail.virtualGoods.permanentValid') }}</text>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="verify-info-wrap">
|
||||
<view class="head">{{ $lang('virtualGoods.verifyRecord') }}</view>
|
||||
<view class="head">{{ $lang('order.detail.virtualGoods.verifyRecord') }}</view>
|
||||
<view v-if="orderData.virtual_goods.verify_record.length">
|
||||
<view v-for="(item, index) in orderData.virtual_goods.verify_record" :key="index"
|
||||
class="record-item">
|
||||
<view class="order-cell">
|
||||
<text class="tit">{{ $lang('virtualGoods.verifier') }}</text>
|
||||
<text class="tit">{{ $lang('order.detail.virtualGoods.verifier') }}</text>
|
||||
<view class="box align-right">
|
||||
<text class="color-title">{{ item.verifier_name }}</text>
|
||||
</view>
|
||||
</view>
|
||||
<view class="order-cell">
|
||||
<text class="tit">{{ $lang('virtualGoods.verifyTime') }}</text>
|
||||
<text class="tit">{{ $lang('order.detail.virtualGoods.verifyTime') }}</text>
|
||||
<view class="box align-right">
|
||||
<text class="color-title">{{ $util.timeStampTurnTime(item.verify_time) }}</text>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="record-empty" v-else>{{ $lang('virtualGoods.noVerifyRecord') }}</view>
|
||||
<view class="record-empty" v-else>{{ $lang('order.detail.virtualGoods.noVerifyRecord') }}</view>
|
||||
</view>
|
||||
</block>
|
||||
|
||||
<block v-if="orderData.virtual_goods && orderData.goods_class == 3">
|
||||
<view class="verify-info-wrap carmichael">
|
||||
<view class="head">{{ $lang('virtualGoods.cardInfo') }}</view>
|
||||
<view class="head">{{ $lang('order.detail.virtualGoods.cardInfo') }}</view>
|
||||
<view v-for="(item, index) in orderData.virtual_goods" :key="index" class="record-item">
|
||||
<view class="order-cell">
|
||||
<text class="tit">{{ $lang('virtualGoods.cardNo') }}</text>
|
||||
<text class="tit">{{ $lang('order.detail.virtualGoods.cardNo') }}</text>
|
||||
<view class="box">
|
||||
<text class="color-title">{{ item.card_info.cardno }}</text>
|
||||
<view class="copy" @click="$util.copy(item.card_info.cardno)">{{ $lang('button.copy') }}</view>
|
||||
<view class="copy" @click="$util.copy(item.card_info.cardno)">{{ $lang('order.detail.button.copy') }}</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="order-cell">
|
||||
<text class="tit">{{ $lang('virtualGoods.cardPassword') }}</text>
|
||||
<text class="tit">{{ $lang('order.detail.virtualGoods.cardPassword') }}</text>
|
||||
<view class="box">
|
||||
<text class="color-title">{{ item.card_info.password }}</text>
|
||||
<view class="copy" @click="$util.copy(item.card_info.password)">{{ $lang('button.copy') }}</view>
|
||||
<view class="copy" @click="$util.copy(item.card_info.password)">{{ $lang('order.detail.button.copy') }}</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
@@ -426,61 +426,61 @@
|
||||
<view class="code">
|
||||
<image :src="$util.img(orderData.virtualgoods_barcode)" class="barcode" mode="widthFix" show-menu-by-longpress></image>
|
||||
<image :src="$util.img(orderData.virtualgoods)" class="qrcode" mode="widthFix" show-menu-by-longpress></image>
|
||||
<text>{{ $lang('virtualGoods.showCodeToVerifier') }}</text>
|
||||
<text>{{ $lang('order.detail.virtualGoods.showCodeToVerifier') }}</text>
|
||||
</view>
|
||||
<view class="hr"></view>
|
||||
<view class="wrap">
|
||||
<text class="font-size-base virtual-code">{{ orderData.virtual_code }}</text>
|
||||
<view class="copy" @click="$util.copy(orderData.virtual_code)">{{ $lang('button.copy') }}</view>
|
||||
<view class="copy" @click="$util.copy(orderData.virtual_code)">{{ $lang('order.detail.button.copy') }}</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="verify-info-wrap">
|
||||
<view class="head">{{ $lang('virtualGoods.verifyInfo') }}</view>
|
||||
<view class="head">{{ $lang('order.detail.virtualGoods.verifyInfo') }}</view>
|
||||
<view class="order-cell">
|
||||
<text class="tit">{{ $lang('virtualGoods.verifyCount') }}</text>
|
||||
<text class="tit">{{ $lang('order.detail.virtualGoods.verifyCount') }}</text>
|
||||
<view class="box align-right">
|
||||
<text class="color-title">
|
||||
{{ $lang('virtualGoods.verifyCountText', { remaining: orderData.virtual_goods.verify_total_count - orderData.virtual_goods.verify_use_num, total: orderData.virtual_goods.verify_total_count }) }}
|
||||
{{ $lang('order.detail.virtualGoods.verifyCountText', { remaining: orderData.virtual_goods.verify_total_count - orderData.virtual_goods.verify_use_num, total: orderData.virtual_goods.verify_total_count }) }}
|
||||
</text>
|
||||
</view>
|
||||
</view>
|
||||
<view class="order-cell">
|
||||
<text class="tit">{{ $lang('virtualGoods.validPeriod') }}</text>
|
||||
<text class="tit">{{ $lang('order.detail.virtualGoods.validPeriod') }}</text>
|
||||
<view class="box align-right">
|
||||
<text class="color-title" v-if="orderData.virtual_goods.expire_time > 0">{{
|
||||
$util.timeStampTurnTime(orderData.virtual_goods.expire_time) }}</text>
|
||||
<text v-else>{{ $lang('virtualGoods.permanentValid') }}</text>
|
||||
<text v-else>{{ $lang('order.detail.virtualGoods.permanentValid') }}</text>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="verify-info-wrap">
|
||||
<view class="head">{{ $lang('virtualGoods.verifyRecord') }}</view>
|
||||
<view class="head">{{ $lang('order.detail.virtualGoods.verifyRecord') }}</view>
|
||||
<view v-if="orderData.virtual_goods.verify_record.length">
|
||||
<view v-for="(item, index) in orderData.virtual_goods.verify_record" :key="index"
|
||||
class="record-item">
|
||||
<view class="order-cell">
|
||||
<text class="tit">{{ $lang('virtualGoods.verifier') }}</text>
|
||||
<text class="tit">{{ $lang('order.detail.virtualGoods.verifier') }}</text>
|
||||
<view class="box align-right">
|
||||
<text class="color-title">{{ item.verifier_name }}</text>
|
||||
</view>
|
||||
</view>
|
||||
<view class="order-cell">
|
||||
<text class="tit">{{ $lang('virtualGoods.verifyTime') }}</text>
|
||||
<text class="tit">{{ $lang('order.detail.virtualGoods.verifyTime') }}</text>
|
||||
<view class="box align-right">
|
||||
<text class="color-title">{{ $util.timeStampTurnTime(item.verify_time) }}</text>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="record-empty" v-else>{{ $lang('virtualGoods.noVerifyRecord') }}</view>
|
||||
<view class="record-empty" v-else>{{ $lang('order.detail.virtualGoods.noVerifyRecord') }}</view>
|
||||
</view>
|
||||
</block>
|
||||
<!-- 订单金额 -->
|
||||
<view class="order-money">
|
||||
<view class="order-cell">
|
||||
<text class="tit">{{ $lang('amount.goodsMoney') }}</text>
|
||||
<text class="tit">{{ $lang('order.detail.amount.goodsMoney') }}</text>
|
||||
<view class="box align-right">
|
||||
<text class="color-title price-font">
|
||||
<text class="font-size-goods-tag">{{ $lang('common.currencySymbol') }}</text>
|
||||
@@ -489,7 +489,7 @@
|
||||
</view>
|
||||
</view>
|
||||
<view class="order-cell" v-if="orderData.order_type != 4">
|
||||
<text class="tit">{{ $lang('amount.deliveryFee') }}</text>
|
||||
<text class="tit">{{ $lang('order.detail.amount.deliveryFee') }}</text>
|
||||
<view class="box align-right">
|
||||
<text class="color-base-text price-font">
|
||||
<text class="font-size-goods-tag">{{ $lang('common.currencySymbol') }}</text>
|
||||
@@ -498,7 +498,7 @@
|
||||
</view>
|
||||
</view>
|
||||
<view class="order-cell" v-if="orderData.member_card_money > 0">
|
||||
<text class="tit">{{ $lang('amount.memberCard') }}</text>
|
||||
<text class="tit">{{ $lang('order.detail.amount.memberCard') }}</text>
|
||||
<view class="box align-right">
|
||||
<text class="color-base-text price-font">
|
||||
<text class="font-size-goods-tag">{{ $lang('common.currencySymbol') }}</text>
|
||||
@@ -508,7 +508,7 @@
|
||||
</view>
|
||||
<view class="order-cell" v-if="orderData.invoice_money > 0">
|
||||
<text class="tit">
|
||||
{{ $lang('amount.taxFee') }}
|
||||
{{ $lang('order.detail.amount.taxFee') }}
|
||||
<text class="color-base-text">({{ orderData.invoice_rate }}%)</text>
|
||||
</text>
|
||||
<view class="box align-right">
|
||||
@@ -520,7 +520,7 @@
|
||||
</view>
|
||||
</view>
|
||||
<view class="order-cell" v-if="orderData.invoice_delivery_money > 0">
|
||||
<text class="tit">{{ $lang('amount.invoiceDeliveryFee') }}</text>
|
||||
<text class="tit">{{ $lang('order.detail.amount.invoiceDeliveryFee') }}</text>
|
||||
<view class="box align-right">
|
||||
<text class="color-base-text price-font">
|
||||
<text class="operator">+</text>
|
||||
@@ -530,7 +530,7 @@
|
||||
</view>
|
||||
</view>
|
||||
<view class="order-cell" v-if="orderData.adjust_money != 0">
|
||||
<text class="tit">{{ $lang('amount.orderAdjust') }}</text>
|
||||
<text class="tit">{{ $lang('order.detail.amount.orderAdjust') }}</text>
|
||||
<view class="box align-right">
|
||||
<text class="color-base-text price-font">
|
||||
<text class="operator" v-if="orderData.adjust_money < 0">-</text>
|
||||
@@ -541,7 +541,7 @@
|
||||
</view>
|
||||
</view>
|
||||
<view class="order-cell" v-if="orderData.promotion_money > 0">
|
||||
<text class="tit">{{ $lang('amount.promotionDiscount') }}</text>
|
||||
<text class="tit">{{ $lang('order.detail.amount.promotionDiscount') }}</text>
|
||||
<view class="box align-right">
|
||||
<text class="color-base-text price-font">
|
||||
<text class="operator">-</text>
|
||||
@@ -551,7 +551,7 @@
|
||||
</view>
|
||||
</view>
|
||||
<view class="order-cell" v-if="orderData.coupon_money > 0">
|
||||
<text class="tit">{{ $lang('amount.coupon') }}</text>
|
||||
<text class="tit">{{ $lang('order.detail.amount.coupon') }}</text>
|
||||
<view class="box align-right">
|
||||
<text class="color-base-text price-font">
|
||||
<text class="operator">-</text>
|
||||
@@ -561,7 +561,7 @@
|
||||
</view>
|
||||
</view>
|
||||
<view class="order-cell" v-if="orderData.balance_money > 0">
|
||||
<text class="tit">{{ $lang('amount.balanceUsed') }}</text>
|
||||
<text class="tit">{{ $lang('order.detail.amount.balanceUsed') }}</text>
|
||||
<view class="box align-right">
|
||||
<text class="color-base-text price-font">
|
||||
<text class="operator">-</text>
|
||||
@@ -571,7 +571,7 @@
|
||||
</view>
|
||||
</view>
|
||||
<view class="order-cell" v-if="orderData.point_money > 0">
|
||||
<text class="tit">{{ $lang('amount.pointDeduction') }}</text>
|
||||
<text class="tit">{{ $lang('order.detail.amount.pointDeduction') }}</text>
|
||||
<view class="box align-right">
|
||||
<text class="color-base-text price-font">
|
||||
<text class="operator">-</text>
|
||||
@@ -582,7 +582,7 @@
|
||||
</view>
|
||||
<view class="order-cell">
|
||||
<view class="box align-right">
|
||||
<text>{{ $lang('amount.totalPayable') }}</text>
|
||||
<text>{{ $lang('order.detail.amount.totalPayable') }}</text>
|
||||
<text class="color-base-text price-font">
|
||||
<text class="font-size-goods-tag">{{ $lang('common.currencySymbol') }}</text>
|
||||
<text class="font-size-base">{{ orderData.order_money }}</text>
|
||||
@@ -594,8 +594,8 @@
|
||||
<view class="order-box-btn white"
|
||||
v-if="evaluateConfig.evaluate_status == 1 && orderData.is_evaluate == 1"
|
||||
@click="operation('memberOrderEvaluation')">
|
||||
<text v-if="orderData.evaluate_status == 0">{{ $lang('button.evaluate') }}</text>
|
||||
<text v-else-if="orderData.evaluate_status == 1">{{ $lang('button.additionalEvaluate') }}</text>
|
||||
<text v-if="orderData.evaluate_status == 0">{{ $lang('order.detail.button.evaluate') }}</text>
|
||||
<text v-else-if="orderData.evaluate_status == 1">{{ $lang('order.detail.button.additionalEvaluate') }}</text>
|
||||
</view>
|
||||
<block v-if="orderData.order_scene == 'online'">
|
||||
<view class="order-box-btn"
|
||||
@@ -610,8 +610,8 @@
|
||||
<view class="order-action fixed-bottom bottom-safe-area"
|
||||
v-else-if="orderData.action.length == 0 && orderData.is_evaluate == 1 && evaluateConfig.evaluate_status == 1">
|
||||
<view class="order-box-btn white" @click="operation('memberOrderEvaluation')">
|
||||
<text v-if="orderData.evaluate_status == 0">{{ $lang('button.evaluate') }}</text>
|
||||
<text v-else-if="orderData.evaluate_status == 1">{{ $lang('button.additionalEvaluate') }}</text>
|
||||
<text v-if="orderData.evaluate_status == 0">{{ $lang('order.detail.button.evaluate') }}</text>
|
||||
<text v-else-if="orderData.evaluate_status == 1">{{ $lang('order.detail.button.additionalEvaluate') }}</text>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
@@ -730,7 +730,7 @@ export default {
|
||||
if (this.$refs.loadingCover) this.$refs.loadingCover.hide();
|
||||
} else {
|
||||
this.$util.showToast({
|
||||
title: this.$lang('toast.orderInfoNotFound')
|
||||
title: this.$lang('order.detail.toast.orderInfoNotFound')
|
||||
});
|
||||
setTimeout(() => {
|
||||
this.$util.redirectTo('/pages_order/list');
|
||||
|
||||
@@ -11,8 +11,8 @@
|
||||
:src="$util.img('public/uniapp/order/order-icon-close.png')" />
|
||||
<view class="status-name">
|
||||
<view class="status-name">
|
||||
{{ orderData.order_status == 0 ? $lang('status.pendingPayment') : orderData.order_status == 1 ? $lang('status.completed') :
|
||||
orderData.order_status == -1 ? $lang('status.closed') : '' }}
|
||||
{{ orderData.order_status == 0 ? $lang('order.detail_point.status.pendingPayment') : orderData.order_status == 1 ? $lang('order.detail_point.status.completed') :
|
||||
orderData.order_status == -1 ? $lang('order.detail_point.status.closed') : '' }}
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
@@ -32,7 +32,7 @@
|
||||
<view>
|
||||
<text class="goods-price color-base-text">
|
||||
<text>
|
||||
<text>{{ orderData.point }}{{ $lang('goods.points') }}</text>
|
||||
<text>{{ orderData.point }}{{ $lang('order.detail_point.goods.points') }}</text>
|
||||
<text v-if="orderData.price > 0" class="price-color">
|
||||
+
|
||||
<text class="unit">{{ $lang('common.currencySymbol') }}</text>
|
||||
@@ -58,26 +58,26 @@
|
||||
<!-- 订单概况 -->
|
||||
<view class="order-summary">
|
||||
<view class="order-cell">
|
||||
<text class="tit">{{ $lang('orderInfo.orderNo') }}</text>
|
||||
<text class="tit">{{ $lang('order.detail_point.orderInfo.orderNo') }}</text>
|
||||
<view class="box">
|
||||
<text class="color-title">{{ orderData.order_no }}</text>
|
||||
<view class="copy" @click="$util.copy(orderData.order_no)">{{ $lang('orderInfo.copy') }}</view>
|
||||
<view class="copy" @click="$util.copy(orderData.order_no)">{{ $lang('order.detail_point.orderInfo.copy') }}</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="order-cell">
|
||||
<text class="tit">{{ $lang('orderInfo.outTradeNo') }}</text>
|
||||
<text class="tit">{{ $lang('order.detail_point.orderInfo.outTradeNo') }}</text>
|
||||
<view class="box">
|
||||
<text class="color-title">{{ orderData.out_trade_no }}</text>
|
||||
</view>
|
||||
</view>
|
||||
<view class="order-cell">
|
||||
<text class="tit">{{ $lang('orderInfo.createTime') }}</text>
|
||||
<text class="tit">{{ $lang('order.detail_point.orderInfo.createTime') }}</text>
|
||||
<view class="box">
|
||||
<text class="color-title">{{ $util.timeStampTurnTime(orderData.create_time) }}</text>
|
||||
</view>
|
||||
</view>
|
||||
<view class="order-cell" v-if="orderData.close_time > 0">
|
||||
<text class="tit">{{ $lang('orderInfo.closeTime') }}</text>
|
||||
<text class="tit">{{ $lang('order.detail_point.orderInfo.closeTime') }}</text>
|
||||
<view class="box">
|
||||
<text class="color-title">{{ $util.timeStampTurnTime(orderData.close_time) }}</text>
|
||||
</view>
|
||||
@@ -96,7 +96,7 @@
|
||||
<!-- 订单金额 -->
|
||||
<view class="order-money">
|
||||
<view class="order-cell" v-if="orderData.point > 0">
|
||||
<text class="tit">{{ $lang('amount.pointsUsed') }}</text>
|
||||
<text class="tit">{{ $lang('order.detail_point.amount.pointsUsed') }}</text>
|
||||
<view class="box align-right">
|
||||
<text class="color-base-text price-font">
|
||||
<text>{{ orderData.point }}</text>
|
||||
@@ -104,7 +104,7 @@
|
||||
</view>
|
||||
</view>
|
||||
<view class="order-cell" v-if="orderData.delivery_price > 0">
|
||||
<text class="tit">{{ $lang('amount.deliveryFee') }}</text>
|
||||
<text class="tit">{{ $lang('order.detail_point.amount.deliveryFee') }}</text>
|
||||
<view class="box align-right">
|
||||
<text class="color-base-text price-font">
|
||||
<text class="unit font-size-tag">{{ $lang('common.currencySymbol') }}</text>
|
||||
@@ -114,7 +114,7 @@
|
||||
</view>
|
||||
<view class="order-cell" v-if="orderData.order_money > 0">
|
||||
<view class="box align-right">
|
||||
<text>{{ $lang('amount.totalPayable') }}</text>
|
||||
<text>{{ $lang('order.detail_point.amount.totalPayable') }}</text>
|
||||
<text class="color-base-text price-font">
|
||||
<text class="font-size-goods-tag">{{ $lang('common.currencySymbol') }}</text>
|
||||
<text class="font-size-base">{{ orderData.order_money }}</text>
|
||||
@@ -123,9 +123,9 @@
|
||||
</view>
|
||||
|
||||
<view class="order-action" v-if="orderData.order_status == 0 && orderData.type == 1">
|
||||
<view class="order-box-btn" @click="orderClose()">{{ $lang('button.close') }}</view>
|
||||
<view class="order-box-btn" @click="orderClose()">{{ $lang('order.detail_point.button.close') }}</view>
|
||||
<view class="order-box-btn color-base-bg color-base-border color-text-white"
|
||||
@click="openChoosePayment()">{{ $lang('button.pay') }}</view>
|
||||
@click="openChoosePayment()">{{ $lang('order.detail_point.button.pay') }}</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
@@ -200,7 +200,7 @@ export default {
|
||||
JSON.parse(this.orderData.delivery_store_info);
|
||||
} else {
|
||||
this.$util.showToast({
|
||||
title: this.$lang('toast.orderInfoNotFound')
|
||||
title: this.$lang('order.detail_point.toast.orderInfoNotFound')
|
||||
});
|
||||
setTimeout(() => {
|
||||
this.$util.redirectTo('/pages_order/list');
|
||||
@@ -221,8 +221,8 @@ export default {
|
||||
},
|
||||
orderClose() {
|
||||
uni.showModal({
|
||||
title: this.$lang('modal.tip'),
|
||||
content: this.$lang('modal.confirmClose'),
|
||||
title: this.$lang('order.detail_point.modal.tip'),
|
||||
content: this.$lang('order.detail_point.modal.confirmClose'),
|
||||
success: res => {
|
||||
if (res.confirm) {
|
||||
this.$api.sendRequest({
|
||||
@@ -233,7 +233,7 @@ export default {
|
||||
success: res => {
|
||||
if (res.code >= 0) {
|
||||
this.$util.showToast({
|
||||
title: this.$lang('toast.closeSuccess')
|
||||
title: this.$lang('order.detail_point.toast.closeSuccess')
|
||||
});
|
||||
this.getOrderData();
|
||||
}
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
<view class="cate-search">
|
||||
<view class="search-box">
|
||||
<input class="uni-input" maxlength="50" v-model="searchText" confirm-type="search"
|
||||
:placeholder="$lang('searchPlaceholder')" @confirm="search()" @tap.stop="search()" />
|
||||
:placeholder="$lang('order.list.searchPlaceholder')" @confirm="search()" @tap.stop="search()" />
|
||||
<text class="iconfont icon-sousuo3" @tap.stop="search()"></text>
|
||||
</view>
|
||||
</view>
|
||||
@@ -12,7 +12,7 @@
|
||||
:id="statusItem.id" :data-current="statusIndex" @click="ontabtap">
|
||||
<text class="uni-tab-item-title"
|
||||
:class="statusItem.status == orderStatus ? 'uni-tab-item-title-active color-base-text' : ''">
|
||||
{{ $lang('status.' + statusItem.status, statusItem.name) }}
|
||||
{{ $lang('order.list.status.' + statusItem.status, statusItem.name) }}
|
||||
</text>
|
||||
</view>
|
||||
</view>
|
||||
@@ -32,7 +32,7 @@
|
||||
:class="$util.inArray(orderItem.order_id, mergePayOrder) == -1 ? 'icon-yuan_checkbox' : 'icon-yuan_checked color-base-text'"
|
||||
@click="selectOrder(orderItem.order_id, orderItem.pay_money)"
|
||||
v-if="orderStatus == 'waitpay' && orderItem.order_status == 0"></view> -->
|
||||
<text class="order-no">{{ $lang('orderNo') }}{{ orderItem.order_no }}</text>
|
||||
<text class="order-no">{{ $lang('order.list.orderNo') }}{{ orderItem.order_no }}</text>
|
||||
<text class="order-type-name">{{ orderItem.order_type_name }}</text>
|
||||
<text class="status-name">{{ orderItem.order_status_name }}</text>
|
||||
</view>
|
||||
@@ -98,9 +98,9 @@
|
||||
<view class="order-footer">
|
||||
<view class="order-base-info">
|
||||
<view class="total">
|
||||
<text class="font-size-sub">{{ $lang('totalGoods', { num: orderItem.goods_num }) }}</text>
|
||||
<text class="font-size-sub">{{ $lang('order.list.totalGoods', { num: orderItem.goods_num }) }}</text>
|
||||
<text class="align-right font-size-base">
|
||||
{{ $lang('actualPayment') }}
|
||||
{{ $lang('order.list.actualPayment') }}
|
||||
<text class="font-size-base price-font">{{ $lang('common.currencySymbol')
|
||||
}}{{ orderItem.order_money }}</text>
|
||||
</text>
|
||||
@@ -109,7 +109,7 @@
|
||||
<view class="order-action" v-if="orderItem.action.length > 0">
|
||||
<view class="order-time" v-if="orderItem.order_status == 0" id="action-date">
|
||||
<image :src="$util.img('public/uniapp/order/time.png')" show-menu-by-longpress></image>
|
||||
{{ $lang('remainingTime') }}
|
||||
{{ $lang('order.list.remainingTime') }}
|
||||
<uni-count-down :day="orderItem.discountTimeMachine.d"
|
||||
:hour="orderItem.discountTimeMachine.h"
|
||||
:minute="orderItem.discountTimeMachine.i"
|
||||
@@ -119,8 +119,8 @@
|
||||
<view class="order-box-btn"
|
||||
v-if="evaluateConfig.evaluate_status == 1 && orderItem.is_evaluate == 1"
|
||||
@click="operation('memberOrderEvaluation', orderItem)">
|
||||
<text v-if="orderItem.evaluate_status == 0">{{ $lang('evaluate') }}</text>
|
||||
<text v-else-if="orderItem.evaluate_status == 1">{{ $lang('review') }}</text>
|
||||
<text v-if="orderItem.evaluate_status == 0">{{ $lang('order.list.evaluate') }}</text>
|
||||
<text v-else-if="orderItem.evaluate_status == 1">{{ $lang('order.list.review') }}</text>
|
||||
</view>
|
||||
<view class="order-box-btn"
|
||||
:class="{ 'color-base-border color-base-bg': operationItem.action == 'orderPay' }"
|
||||
@@ -133,17 +133,17 @@
|
||||
v-else-if="orderItem.action.length == 0 && orderItem.is_evaluate == 1 && evaluateConfig.evaluate_status == 1">
|
||||
<view class="order-box-btn" v-if="orderItem.is_evaluate == 1"
|
||||
@click="operation('memberOrderEvaluation', orderItem)">
|
||||
<text v-if="orderItem.evaluate_status == 0">{{ $lang('evaluate') }}</text>
|
||||
<text v-else-if="orderItem.evaluate_status == 1">{{ $lang('review') }}</text>
|
||||
<text v-if="orderItem.evaluate_status == 0">{{ $lang('order.list.evaluate') }}</text>
|
||||
<text v-else-if="orderItem.evaluate_status == 1">{{ $lang('order.list.review') }}</text>
|
||||
</view>
|
||||
</view>
|
||||
<view class="order-action" v-else>
|
||||
<view class="order-box-btn" @click="orderDetail(orderItem)">{{ $lang('viewDetail') }}</view>
|
||||
<view class="order-box-btn" @click="orderDetail(orderItem)">{{ $lang('order.list.viewDetail') }}</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view v-else><ns-empty :isIndex="false" :text="$lang('emptyTips')"></ns-empty></view>
|
||||
<view v-else><ns-empty :isIndex="false" :text="$lang('order.list.emptyTips')"></ns-empty></view>
|
||||
</block>
|
||||
<!--#ifndef MP -->
|
||||
</mescroll-uni>
|
||||
@@ -286,27 +286,27 @@ export default {
|
||||
getOrderStatus() {
|
||||
this.statusList = [{
|
||||
status: 'all',
|
||||
name: this.$lang('status.all'),
|
||||
name: this.$lang('order.list.status.all'),
|
||||
id: 'status_0'
|
||||
},
|
||||
{
|
||||
status: 'waitpay',
|
||||
name: this.$lang('status.waitpay'),
|
||||
name: this.$lang('order.list.status.waitpay'),
|
||||
id: 'status_1'
|
||||
},
|
||||
{
|
||||
status: 'waitsend',
|
||||
name: this.$lang('status.waitsend'),
|
||||
name: this.$lang('order.list.status.waitsend'),
|
||||
id: 'status_2'
|
||||
},
|
||||
{
|
||||
status: 'waitconfirm',
|
||||
name: this.$lang('status.waitconfirm'),
|
||||
name: this.$lang('order.list.status.waitconfirm'),
|
||||
id: 'status_3'
|
||||
},
|
||||
{
|
||||
status: 'waitrate',
|
||||
name: this.$lang('status.waitrate'),
|
||||
name: this.$lang('order.list.status.waitrate'),
|
||||
id: 'status_4'
|
||||
},
|
||||
/*{
|
||||
|
||||
@@ -34,20 +34,20 @@ export default {
|
||||
*/
|
||||
promotion(data){
|
||||
if (data.promotion && data.promotion.manjian && data.promotion.manjian.length) {
|
||||
let promotionStr = {title: this.$lang('promotion.title'), content: ''}
|
||||
let promotionStr = {title: this.$lang('order.payment.promotion.title'), content: ''}
|
||||
data.promotion.manjian.forEach((mItem,mIndex)=>{
|
||||
let promotion = '';
|
||||
let content = {};
|
||||
let limit = mItem.type == 0 ? this.$lang('promotion.yuan') : this.$lang('promotion.piece');
|
||||
let limit = mItem.type == 0 ? this.$lang('order.payment.promotion.yuan') : this.$lang('order.payment.promotion.piece');
|
||||
if(mItem.rule){
|
||||
var item = mItem.discount_array.rule;
|
||||
item.limit = mItem.type == 0 ? parseFloat(item.limit).toFixed(2) : parseInt(item.limit);
|
||||
// 满减
|
||||
if (item.discount_money != undefined) {
|
||||
if (content.manjian == undefined) {
|
||||
content.manjian = this.$lang('promotion.manjianFirst', { limit: item.limit, unit: limit, money: item.discount_money });
|
||||
content.manjian = this.$lang('order.payment.promotion.manjianFirst', { limit: item.limit, unit: limit, money: item.discount_money });
|
||||
} else {
|
||||
content.manjian += this.$lang('promotion.manjianMore', { limit: item.limit, unit: limit, money: item.discount_money });
|
||||
content.manjian += this.$lang('order.payment.promotion.manjianMore', { limit: item.limit, unit: limit, money: item.discount_money });
|
||||
}
|
||||
}
|
||||
// 满送优惠券
|
||||
@@ -55,32 +55,32 @@ export default {
|
||||
let text = '';
|
||||
item.coupon_list.forEach((couponItem, couponIndex) => {
|
||||
if (couponItem.type == 'discount') {
|
||||
if (text == '') text = this.$lang('promotion.couponDiscountFirst', { num: couponItem.give_num, discount: parseFloat(couponItem.discount) });
|
||||
else text += this.$lang('promotion.couponDiscountMore', { num: couponItem.give_num, discount: parseFloat(couponItem.discount) });
|
||||
if (text == '') text = this.$lang('order.payment.promotion.couponDiscountFirst', { num: couponItem.give_num, discount: parseFloat(couponItem.discount) });
|
||||
else text += this.$lang('order.payment.promotion.couponDiscountMore', { num: couponItem.give_num, discount: parseFloat(couponItem.discount) });
|
||||
} else {
|
||||
if (text == '') text = this.$lang('promotion.couponMoneyFirst', { num: couponItem.give_num, money: parseFloat(couponItem.money) });
|
||||
else text += this.$lang('promotion.couponMoneyMore', { num: couponItem.give_num, money: parseFloat(couponItem.money) });
|
||||
if (text == '') text = this.$lang('order.payment.promotion.couponMoneyFirst', { num: couponItem.give_num, money: parseFloat(couponItem.money) });
|
||||
else text += this.$lang('order.payment.promotion.couponMoneyMore', { num: couponItem.give_num, money: parseFloat(couponItem.money) });
|
||||
}
|
||||
})
|
||||
if (content.mansong == undefined) {
|
||||
content.mansong = this.$lang('promotion.mansongFirst', { limit: item.limit, unit: limit, text: text });
|
||||
content.mansong = this.$lang('order.payment.promotion.mansongFirst', { limit: item.limit, unit: limit, text: text });
|
||||
} else {
|
||||
content.mansong += this.$lang('promotion.mansongMore', { limit: item.limit, unit: limit, text: text });
|
||||
content.mansong += this.$lang('order.payment.promotion.mansongMore', { limit: item.limit, unit: limit, text: text });
|
||||
}
|
||||
}
|
||||
// 满送积分
|
||||
if (item.point) {
|
||||
let point_text = this.$lang('promotion.pointGain', { point: item.point });
|
||||
let point_text = this.$lang('order.payment.promotion.pointGain', { point: item.point });
|
||||
if(content.point_text == undefined) {
|
||||
content.point_text = this.$lang('promotion.pointFirst', { limit: item.limit, unit: limit, pointText: point_text });
|
||||
content.point_text = this.$lang('order.payment.promotion.pointFirst', { limit: item.limit, unit: limit, pointText: point_text });
|
||||
}else {
|
||||
content.point_text += this.$lang('promotion.pointMore', { limit: item.limit, unit: limit, pointText: point_text });
|
||||
content.point_text += this.$lang('order.payment.promotion.pointMore', { limit: item.limit, unit: limit, pointText: point_text });
|
||||
}
|
||||
}
|
||||
// 包邮
|
||||
if (item.free_shipping != undefined) {
|
||||
if (content.free_shipping == undefined) {
|
||||
content.free_shipping = this.$lang('promotion.freeShipping', { limit: item.limit, unit: limit });
|
||||
content.free_shipping = this.$lang('order.payment.promotion.freeShipping', { limit: item.limit, unit: limit });
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
<view class="image" :class="fenXiaoAgreement.agreement.img ? '' : 'color-base-bg'">
|
||||
<image v-if="fenXiaoAgreement.agreement.img" class="apply-adv" :src="$util.img(fenXiaoAgreement.agreement.img)" mode="widthFix" style="width: 100%;" show-menu-by-longpress/>
|
||||
<view class="bg ns-gradient-otherpages-fenxiao-apply-apply-bg" v-else>
|
||||
<view class="bg-title"><text>{{ $lang('pleaseFillApplyInfo') }}</text></view>
|
||||
<view class="bg-title"><text>{{ $lang('fenxiao.apply.pleaseFillApplyInfo') }}</text></view>
|
||||
<view class="bg-img">
|
||||
<image :src="$util.img('public/uniapp/fenxiao/apply/edit.png')" mode="scaleToFill" show-menu-by-longpress></image>
|
||||
</view>
|
||||
@@ -24,44 +24,44 @@
|
||||
<view class="app-info">
|
||||
<view class="info">
|
||||
<view class="apply-item">
|
||||
<view class="title">{{ $lang('inviter') }}</view>
|
||||
<text class="shuru">{{ sourceMemberInfo.fenxiao_name || $lang('none') }}</text>
|
||||
<view class="title">{{ $lang('fenxiao.apply.inviter') }}</view>
|
||||
<text class="shuru">{{ sourceMemberInfo.fenxiao_name || $lang('fenxiao.apply.none') }}</text>
|
||||
</view>
|
||||
<view class="apply-item">
|
||||
<view class="title">{{ fenxiaoWords.fenxiao_name }}{{ $lang('nameLabel') }}</view>
|
||||
<input class="input" type="text" maxlength="30" :placeholder="$lang('namePlaceholder', { name: fenxiaoWords.fenxiao_name })" v-model="formData.fenXiaoName" placeholder-class="pla-cla" />
|
||||
<view class="title">{{ fenxiaoWords.fenxiao_name }}{{ $lang('fenxiao.apply.nameLabel') }}</view>
|
||||
<input class="input" type="text" maxlength="30" :placeholder="$lang('fenxiao.apply.namePlaceholder', { name: fenxiaoWords.fenxiao_name })" v-model="formData.fenXiaoName" placeholder-class="pla-cla" />
|
||||
</view>
|
||||
<view class="apply-item">
|
||||
<view class="title">{{ $lang('mobile') }}</view>
|
||||
<input class="input" type="number" :placeholder="$lang('mobilePlaceholder')" maxlength="11" v-model="formData.mobile" placeholder-class="pla-cla" />
|
||||
<view class="title">{{ $lang('fenxiao.apply.mobile') }}</view>
|
||||
<input class="input" type="number" :placeholder="$lang('fenxiao.apply.mobilePlaceholder')" maxlength="11" v-model="formData.mobile" placeholder-class="pla-cla" />
|
||||
</view>
|
||||
<view class="apply-xy" v-if="isAgreement" @click="ckeckedRuler()">
|
||||
<view class="iconfont" :class="isChecked ? 'icon-yuan_checked color-base-text' : 'icon-yuan_checkbox'">
|
||||
</view>
|
||||
{{ $lang('haveReadAndUnderstand') }}
|
||||
<text class="color-base-text" @click.stop="openPopup">{{ $lang('applyAgreement', { name: fenxiaoWords.fenxiao_name }) }}</text>
|
||||
{{ $lang('fenxiao.apply.haveReadAndUnderstand') }}
|
||||
<text class="color-base-text" @click.stop="openPopup">{{ $lang('fenxiao.apply.applyAgreement', { name: fenxiaoWords.fenxiao_name }) }}</text>
|
||||
</view>
|
||||
<view class="apply-btn">
|
||||
<button @click="applyFenXiao" class="color-base-bg">{{ $lang('applyBecome', { name: fenxiaoWords.fenxiao_name }) }}</button>
|
||||
<button @click="applyFenXiao" class="color-base-bg">{{ $lang('fenxiao.apply.applyBecome', { name: fenxiaoWords.fenxiao_name }) }}</button>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="apply-message-wrap" v-if="fenxiaoConfig.fenxiao_condition == 2 || fenxiaoConfig.fenxiao_condition == 3">
|
||||
<view class="apply-message">
|
||||
<view class="apply-message-title color-base-bg-before">{{ $lang('applyConditionTitle') }}</view>
|
||||
<view class="apply-message-title color-base-bg-before">{{ $lang('fenxiao.apply.applyConditionTitle') }}</view>
|
||||
<text class="apply-message-info font-size-goods-tag" v-if="fenxiaoConfig.fenxiao_condition == 2">
|
||||
{{ $lang('conditionConsumeCount', { name: fenxiaoWords.fenxiao_name, count: fenxiaoConfig.consume_count }) }}
|
||||
{{ $lang('fenxiao.apply.conditionConsumeCount', { name: fenxiaoWords.fenxiao_name, count: fenxiaoConfig.consume_count }) }}
|
||||
</text>
|
||||
<text class="apply-message-info font-size-goods-tag" v-if="fenxiaoConfig.fenxiao_condition == 3">
|
||||
{{ $lang('conditionConsumeMoney', { name: fenxiaoWords.fenxiao_name, money: fenxiaoConfig.consume_money }) }}
|
||||
{{ $lang('fenxiao.apply.conditionConsumeMoney', { name: fenxiaoWords.fenxiao_name, money: fenxiaoConfig.consume_money }) }}
|
||||
</text>
|
||||
</view>
|
||||
</view>
|
||||
<view class="app-info-list" v-if="fenxiaoConfig.fenxiao_condition == 4">
|
||||
<view class="apply-message">
|
||||
<view class="apply-message-title color-base-bg-before">{{ $lang('applyConditionTitle') }}</view>
|
||||
<text class="apply-message-info font-size-goods-tag">{{ $lang('conditionBuyGoods', { name: fenxiaoWords.fenxiao_name }) }}</text>
|
||||
<view class="apply-message-title color-base-bg-before">{{ $lang('fenxiao.apply.applyConditionTitle') }}</view>
|
||||
<text class="apply-message-info font-size-goods-tag">{{ $lang('fenxiao.apply.conditionBuyGoods', { name: fenxiaoWords.fenxiao_name }) }}</text>
|
||||
</view>
|
||||
<view class="goods-list" v-for="(item, index) in goodsList" :key="index" @click="toDetail(item)">
|
||||
<view class="goods-img">
|
||||
@@ -79,7 +79,7 @@
|
||||
</view>
|
||||
</view>
|
||||
<view class="content-lists" v-if="isShow" @click="onOpen()">
|
||||
{{ isOpen ? $lang('expandMore') : $lang('collapse') }}
|
||||
{{ isOpen ? $lang('fenxiao.apply.expandMore') : $lang('fenxiao.apply.collapse') }}
|
||||
<text class="iconfont icon-unfold" style="font-weight: bold;" v-if="isOpen"></text>
|
||||
<text class="iconfont icon-fold" v-else></text>
|
||||
</view>
|
||||
@@ -89,16 +89,16 @@
|
||||
<view class="empty" v-else-if="basicsConfig.is_apply == 0" style="margin-top:40rpx;">
|
||||
<block v-if="fenxiaoConfig.fenxiao_condition == 2 || fenxiaoConfig.fenxiao_condition == 3">
|
||||
<image :src="$util.img('public/uniapp/fenxiao/index/no-fenxiao.png')" mode="widthFix" show-menu-by-longpress></image>
|
||||
<text v-if="fenxiaoConfig.fenxiao_condition == 2">{{ $lang('conditionConsumeCount', { name: fenxiaoWords.fenxiao_name, count: fenxiaoConfig.consume_count }) }}</text>
|
||||
<text v-if="fenxiaoConfig.fenxiao_condition == 2">{{ $lang('fenxiao.apply.conditionConsumeCount', { name: fenxiaoWords.fenxiao_name, count: fenxiaoConfig.consume_count }) }}</text>
|
||||
<text v-if="fenxiaoConfig.fenxiao_condition == 3">
|
||||
{{ $lang('conditionConsumeMoney', { name: fenxiaoWords.fenxiao_name, money: fenxiaoConfig.consume_money | moneyFormat }) }}
|
||||
{{ $lang('fenxiao.apply.conditionConsumeMoney', { name: fenxiaoWords.fenxiao_name, money: fenxiaoConfig.consume_money | moneyFormat }) }}
|
||||
</text>
|
||||
</block>
|
||||
<view class="apply-wrap" v-if="fenxiaoConfig.fenxiao_condition == 4">
|
||||
<view class="app-info-list">
|
||||
<view class="apply-message">
|
||||
<view class="apply-message-title color-base-bg-before">{{ $lang('becomeConditionTitle') }}</view>
|
||||
<text class="apply-message-info font-size-goods-tag">{{ $lang('becomeConditionBuyGoods', { name: fenxiaoWords.fenxiao_name }) }}</text>
|
||||
<view class="apply-message-title color-base-bg-before">{{ $lang('fenxiao.apply.becomeConditionTitle') }}</view>
|
||||
<text class="apply-message-info font-size-goods-tag">{{ $lang('fenxiao.apply.becomeConditionBuyGoods', { name: fenxiaoWords.fenxiao_name }) }}</text>
|
||||
</view>
|
||||
<view class="goods-list" v-for="(item, index) in goodsList" :key="index" @click="toDetail(item)">
|
||||
<view class="goods-img">
|
||||
@@ -114,7 +114,7 @@
|
||||
</view>
|
||||
</view>
|
||||
<view class="content-lists" v-if="isShow" @click="onOpen()">
|
||||
{{ isOpen ? $lang('expandMore') : $lang('collapse') }}
|
||||
{{ isOpen ? $lang('fenxiao.apply.expandMore') : $lang('fenxiao.apply.collapse') }}
|
||||
<text class="iconfont icon-unfold" style="font-weight: bold;" v-if="isOpen"></text>
|
||||
<text class="iconfont icon-fold" v-else></text>
|
||||
</view>
|
||||
@@ -123,15 +123,15 @@
|
||||
</view>
|
||||
<view class="empty" v-else>
|
||||
<image :src="$util.img('public/uniapp/fenxiao/index/no-fenxiao.png')" mode="widthFix" show-menu-by-longpress></image>
|
||||
<text>{{ $lang('notFenxiao') }}</text>
|
||||
<text>{{ $lang('fenxiao.apply.notFenxiao') }}</text>
|
||||
</view>
|
||||
</view>
|
||||
<view class="empty" v-else>
|
||||
<image :src="$util.img('public/uniapp/fenxiao/index/no-fenxiao.png')" mode="widthFix" show-menu-by-longpress></image>
|
||||
<text v-if="status == 1">{{ $lang('applyPending', { name: fenxiaoWords.fenxiao_name }) }}</text>
|
||||
<text v-if="status == 1">{{ $lang('fenxiao.apply.applyPending', { name: fenxiaoWords.fenxiao_name }) }}</text>
|
||||
<block v-else-if="status == -1">
|
||||
<text>{{ $lang('applyRejected', { name: fenxiaoWords.fenxiao_name }) }}</text>
|
||||
<view class="again-btn color-base-bg" @click="againApply">{{ $lang('reapply') }}</view>
|
||||
<text>{{ $lang('fenxiao.apply.applyRejected', { name: fenxiaoWords.fenxiao_name }) }}</text>
|
||||
<view class="again-btn color-base-bg" @click="againApply">{{ $lang('fenxiao.apply.reapply') }}</view>
|
||||
</block>
|
||||
</view>
|
||||
<view @touchmove.prevent v-if="fenXiaoAgreement.document">
|
||||
@@ -162,8 +162,8 @@
|
||||
isShow: true,
|
||||
isIphoneX: false,
|
||||
// 推荐人信息
|
||||
sourceMemberInfo: {
|
||||
fenxiao_name: ''
|
||||
sourceMemberInfo: {
|
||||
fenxiao_name: ''
|
||||
},
|
||||
formData: {
|
||||
fenXiaoName: '',
|
||||
@@ -191,7 +191,7 @@
|
||||
setTimeout( () => {
|
||||
if (!this.addonIsExist.fenxiao) {
|
||||
this.$util.showToast({
|
||||
title: this.$lang('merchantNotOpenFenxiao'),
|
||||
title: this.$lang('fenxiao.apply.merchantNotOpenFenxiao'),
|
||||
mask: true,
|
||||
duration: 2000
|
||||
});
|
||||
@@ -207,7 +207,7 @@
|
||||
async onShow() {
|
||||
this.isIphoneX = this.$util.uniappIsIPhoneX();
|
||||
|
||||
if (this.fenxiaoWords && this.fenxiaoWords.fenxiao_name) this.$langConfig.title(this.fenxiaoWords.fenxiao_name + this.$lang('applySuffix'));
|
||||
if (this.fenxiaoWords && this.fenxiaoWords.fenxiao_name) this.$langConfig.title(this.fenxiaoWords.fenxiao_name + this.$lang('fenxiao.apply.applySuffix'));
|
||||
|
||||
if (this.storeToken) {
|
||||
this.applyStatus();
|
||||
@@ -275,7 +275,7 @@
|
||||
if (!this.fenXiaoValidata()) return;
|
||||
if (this.isAgreement && !this.isChecked) {
|
||||
this.$util.showToast({
|
||||
title: this.$lang('pleaseReadAndCheckAgreement')
|
||||
title: this.$lang('fenxiao.apply.pleaseReadAndCheckAgreement')
|
||||
});
|
||||
return;
|
||||
}
|
||||
@@ -326,22 +326,22 @@
|
||||
closePopup() {
|
||||
this.$refs.applyPopup.close();
|
||||
},
|
||||
fenXiaoValidata() {
|
||||
let rule = [{
|
||||
name: 'fenXiaoName',
|
||||
checkType: 'required',
|
||||
errorMsg: this.$lang('pleaseEnterName', { name: this.fenxiaoWords.fenxiao_name })
|
||||
},
|
||||
{
|
||||
name: 'mobile',
|
||||
checkType: 'required',
|
||||
errorMsg: this.$lang('pleaseEnterMobile')
|
||||
},
|
||||
{
|
||||
name: 'mobile',
|
||||
checkType: 'phoneno',
|
||||
errorMsg: this.$lang('pleaseEnterValidMobile')
|
||||
}
|
||||
fenXiaoValidata() {
|
||||
let rule = [{
|
||||
name: 'fenXiaoName',
|
||||
checkType: 'required',
|
||||
errorMsg: this.$lang('fenxiao.apply.pleaseEnterName', { name: this.fenxiaoWords.fenxiao_name })
|
||||
},
|
||||
{
|
||||
name: 'mobile',
|
||||
checkType: 'required',
|
||||
errorMsg: this.$lang('fenxiao.apply.pleaseEnterMobile')
|
||||
},
|
||||
{
|
||||
name: 'mobile',
|
||||
checkType: 'phoneno',
|
||||
errorMsg: this.$lang('fenxiao.apply.pleaseEnterValidMobile')
|
||||
}
|
||||
];
|
||||
var checkRes = validate.check(this.formData, rule);
|
||||
if (checkRes) {
|
||||
|
||||
@@ -16,20 +16,20 @@
|
||||
<view v-if="item.level_name" class="title color-base-border color-base-text">{{
|
||||
item.level_name }}</view>
|
||||
</view>
|
||||
<view class="color-tip font-size-goods-tag">{{ $lang('joinTime') }}{{
|
||||
<view class="color-tip font-size-goods-tag">{{ $lang('fenxiao.child_fenxiao.joinTime') }}{{
|
||||
$util.timeStampTurnTime(item.bind_fenxiao_time).substring(0, 10) }}</view>
|
||||
</view>
|
||||
<view class="consume-info">
|
||||
<view><text>{{ item.one_child_fenxiao_num + item.one_child_num }}</text>{{ $lang('peopleUnit') }}</view>
|
||||
<view><text>{{ item.order_num }}</text>{{ $lang('orderUnit') }}</view>
|
||||
<view><text>{{ item.order_money | moneyFormat }}</text>{{ $lang('currencyUnit') }}</view>
|
||||
<view><text>{{ item.one_child_fenxiao_num + item.one_child_num }}</text>{{ $lang('fenxiao.child_fenxiao.peopleUnit') }}</view>
|
||||
<view><text>{{ item.order_num }}</text>{{ $lang('fenxiao.child_fenxiao.orderUnit') }}</view>
|
||||
<view><text>{{ item.order_money | moneyFormat }}</text>{{ $lang('fenxiao.child_fenxiao.currencyUnit') }}</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<block v-if="teamList.length == 0 && emptyShow">
|
||||
<ns-empty :text="$lang('noData')" :isIndex="false"></ns-empty>
|
||||
<ns-empty :text="$lang('fenxiao.child_fenxiao.noData')" :isIndex="false"></ns-empty>
|
||||
</block>
|
||||
</block>
|
||||
</mescroll-uni>
|
||||
@@ -54,7 +54,7 @@ export default {
|
||||
setTimeout(() => {
|
||||
if (!this.addonIsExist.fenxiao) {
|
||||
this.$util.showToast({
|
||||
title: this.$lang('merchantNotOpenFenxiao'),
|
||||
title: this.$lang('fenxiao.child_fenxiao.merchantNotOpenFenxiao'),
|
||||
mask: true,
|
||||
duration: 2000
|
||||
});
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
<view class="uni-scroll-view-content">
|
||||
<!-- #endif -->
|
||||
<view class="quick-nav-item" :class="{ selected: categoryId == 0 }"
|
||||
@click="changeCategory(0)">{{ $lang('all') }}</view>
|
||||
@click="changeCategory(0)">{{ $lang('fenxiao.goods_list.all') }}</view>
|
||||
<view class="quick-nav-item" v-for="item in categoryList" :key="item.category_id"
|
||||
:class="{ selected: categoryId == item.category_id }"
|
||||
@click="changeCategory(item.category_id)">
|
||||
@@ -39,24 +39,24 @@
|
||||
</view>
|
||||
<view class="goods-share" @click.stop="shareFn('goods', index)">
|
||||
<text class="icondiy icon-system-share"></text>
|
||||
<text class="txt" v-if="!is_fenxiao">{{ $lang('share') }}</text>
|
||||
<text class="txt" v-else>{{ $lang('earnCommission', { money: item.commission_money }) }}</text>
|
||||
<text class="txt" v-if="!is_fenxiao">{{ $lang('fenxiao.goods_list.share') }}</text>
|
||||
<text class="txt" v-else>{{ $lang('fenxiao.goods_list.earnCommission', { money: item.commission_money }) }}</text>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="empty" v-if="goodsList.length == 0">
|
||||
<ns-empty :isIndex="false" :text="$lang('noGoods')" textColor="#fff"></ns-empty>
|
||||
<ns-empty :isIndex="false" :text="$lang('fenxiao.goods_list.noGoods')" textColor="#fff"></ns-empty>
|
||||
</view>
|
||||
</view>
|
||||
</block>
|
||||
</mescroll-uni>
|
||||
<view class="active-btn" v-if="goodsList.length">
|
||||
<!-- #ifdef MP -->
|
||||
<button class="share-btn" :plain="true" open-type="share">{{ $lang('shareFriends') }}</button>
|
||||
<button class="share-btn" :plain="true" open-type="share">{{ $lang('fenxiao.goods_list.shareFriends') }}</button>
|
||||
<text class="tag">|</text>
|
||||
<!-- #endif -->
|
||||
<text class="btn" @click="shareFn('fenxiao')">{{ $lang('generatePoster') }}</text>
|
||||
<text class="btn" @click="shareFn('fenxiao')">{{ $lang('fenxiao.goods_list.generatePoster') }}</text>
|
||||
</view>
|
||||
<loading-cover ref="loadingCover"></loading-cover>
|
||||
|
||||
@@ -64,13 +64,13 @@
|
||||
<view @touchmove.prevent.stop>
|
||||
<uni-popup ref="sharePopup" type="bottom" class="share-popup">
|
||||
<view>
|
||||
<view class="share-title">{{ $lang('shareTitle') }}</view>
|
||||
<view class="share-title">{{ $lang('fenxiao.goods_list.shareTitle') }}</view>
|
||||
<view class="share-content">
|
||||
<!-- #ifdef MP -->
|
||||
<view class="share-box">
|
||||
<button class="share-btn" :plain="true" open-type="share">
|
||||
<view class="iconfont icon-share-friend"></view>
|
||||
<text>{{ $lang('shareToFriends') }}</text>
|
||||
<text>{{ $lang('fenxiao.goods_list.shareToFriends') }}</text>
|
||||
</button>
|
||||
</view>
|
||||
<!-- #endif -->
|
||||
@@ -79,7 +79,7 @@
|
||||
<view class="share-box" v-if="goodsCircle">
|
||||
<button class="share-btn" :plain="true" @click="openBusinessView">
|
||||
<view class="iconfont icon-haowuquan"></view>
|
||||
<text>{{ $lang('shareToGoodsCircle') }}</text>
|
||||
<text>{{ $lang('fenxiao.goods_list.shareToGoodsCircle') }}</text>
|
||||
</button>
|
||||
</view>
|
||||
<!-- #endif -->
|
||||
@@ -87,19 +87,19 @@
|
||||
<view class="share-box" @click="openPosterPopup">
|
||||
<button class="share-btn" :plain="true">
|
||||
<view class="iconfont icon-pengyouquan"></view>
|
||||
<text>{{ $lang('generateSharePoster') }}</text>
|
||||
<text>{{ $lang('fenxiao.goods_list.generateSharePoster') }}</text>
|
||||
</button>
|
||||
</view>
|
||||
<!-- #ifdef H5 -->
|
||||
<view class="share-box" @click="copyUrl">
|
||||
<button class="share-btn" :plain="true">
|
||||
<view class="iconfont icon-fuzhilianjie"></view>
|
||||
<text>{{ $lang('copyLink') }}</text>
|
||||
<text>{{ $lang('fenxiao.goods_list.copyLink') }}</text>
|
||||
</button>
|
||||
</view>
|
||||
<!-- #endif -->
|
||||
</view>
|
||||
<view class="share-footer" @click="closeSharePopup"><text>{{ $lang('cancelShare') }}</text></view>
|
||||
<view class="share-footer" @click="closeSharePopup"><text>{{ $lang('fenxiao.goods_list.cancelShare') }}</text></view>
|
||||
</view>
|
||||
</uni-popup>
|
||||
</view>
|
||||
@@ -112,10 +112,10 @@
|
||||
<image :src="$util.img(poster)" show-menu-by-longpress />
|
||||
</view>
|
||||
<!-- #ifdef MP || APP-PLUS -->
|
||||
<view class="save" @click="saveGoodsPoster()">{{ $lang('saveImage') }}</view>
|
||||
<view class="save" @click="saveGoodsPoster()">{{ $lang('fenxiao.goods_list.saveImage') }}</view>
|
||||
<!-- #endif -->
|
||||
<!-- #ifdef H5 -->
|
||||
<view class="save">{{ $lang('longPressSaveImage') }}</view>
|
||||
<view class="save">{{ $lang('fenxiao.goods_list.longPressSaveImage') }}</view>
|
||||
<!-- #endif -->
|
||||
</view>
|
||||
<view class="close iconfont icon-close" @click="closePosterPopup()"></view>
|
||||
|
||||
@@ -18,8 +18,8 @@
|
||||
:src="$util.img('public/uniapp/fenxiao/index/commissionFission-level.png')"
|
||||
alt="" class="level-icon">{{ info.level_name }}</p>
|
||||
</view>
|
||||
<view class="recommend">{{ $lang('superiorAgent') }}:{{ info.parent_name ? info.parent_name : $lang('headquarters') }}</view>
|
||||
<view class="recommend">{{ $lang('invitedSuccess', { count: teamNum.num }) }}<text class="iconfont icon-right"
|
||||
<view class="recommend">{{ $lang('fenxiao.index.superiorAgent') }}:{{ info.parent_name ? info.parent_name : $lang('fenxiao.index.headquarters') }}</view>
|
||||
<view class="recommend">{{ $lang('fenxiao.index.invitedSuccess', { count: teamNum.num }) }}<text class="iconfont icon-right"
|
||||
style="font-size: 24rpx;"></text></view>
|
||||
</view>
|
||||
<!-- <view class="promote-rules font-size-tag" @click="$util.redirectTo('/pages_promotion/fenxiao/promote')">
|
||||
@@ -40,10 +40,10 @@
|
||||
<view class="fenxiao-index-allmoney">
|
||||
<view class="allmoney-top-money">
|
||||
<view class="allmoney-top">
|
||||
<view class="font-size-sub">{{ $lang('withdrawable', { withdraw: fenxiaoWords.withdraw }) }}</view>
|
||||
<view class="font-size-sub">{{ $lang('fenxiao.index.withdrawable', { withdraw: fenxiaoWords.withdraw }) }}</view>
|
||||
<view class="withdrawal-record"
|
||||
@click="$util.redirectTo('/pages_promotion/fenxiao/withdraw_list')">
|
||||
{{ $lang('withdrawDetail') }}
|
||||
{{ $lang('fenxiao.index.withdrawDetail') }}
|
||||
<text class="iconfont icon-right"></text>
|
||||
</view>
|
||||
</view>
|
||||
@@ -61,18 +61,18 @@
|
||||
</view> -->
|
||||
<view class="allmoney-all-wrap"
|
||||
@click="$util.redirectTo('/pages_promotion/fenxiao/withdraw_list')">
|
||||
<view class="title">{{ $lang('withdrawing') }}<text class="iconfont icon-right"
|
||||
<view class="title">{{ $lang('fenxiao.index.withdrawing') }}<text class="iconfont icon-right"
|
||||
style="font-size: 24rpx;"></text></view>
|
||||
<view class="money price-font">{{ info.account_withdraw_apply | moneyFormat }}</view>
|
||||
</view>
|
||||
<view class="allmoney-all-wrap"
|
||||
@click="$util.redirectTo('/pages_promotion/fenxiao/order', { type: 1 })">
|
||||
<view class="title">{{ $lang('pendingDeposit') }}<text class="iconfont icon-right"
|
||||
<view class="title">{{ $lang('fenxiao.index.pendingDeposit') }}<text class="iconfont icon-right"
|
||||
style="font-size: 24rpx;"></text></view>
|
||||
<view class="money price-font">{{ info.in_progress_money | moneyFormat }}</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="withdraw-btn" @click="$util.redirectTo('/pages_promotion/fenxiao/withdraw_apply')">{{ $lang('withdraw') }}
|
||||
<view class="withdraw-btn" @click="$util.redirectTo('/pages_promotion/fenxiao/withdraw_apply')">{{ $lang('fenxiao.index.withdraw') }}
|
||||
</view>
|
||||
</view>
|
||||
|
||||
@@ -90,8 +90,8 @@
|
||||
</image>
|
||||
</view>
|
||||
<view class="info">
|
||||
<view class="title">{{ $lang('myFans') }}</view>
|
||||
<view class="desc">{{ $lang('invitedUsers') }}</view>
|
||||
<view class="title">{{ $lang('fenxiao.index.myFans') }}</view>
|
||||
<view class="desc">{{ $lang('fenxiao.index.invitedUsers') }}</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="menu-item" @click="$util.redirectTo('/pages_promotion/fenxiao/withdraw_list')">
|
||||
@@ -100,8 +100,8 @@
|
||||
</image>
|
||||
</view>
|
||||
<view class="info">
|
||||
<view class="title">{{ fenxiaoWords.withdraw + $lang('detail') }}</view>
|
||||
<view class="desc">{{ $lang('totalAccumulated', { account: fenxiaoWords.account, symbol: $lang('common.currencySymbol'), amount: info.total_commission | moneyFormat }) }}
|
||||
<view class="title">{{ fenxiaoWords.withdraw + $lang('fenxiao.index.detail') }}</view>
|
||||
<view class="desc">{{ $lang('fenxiao.index.totalAccumulated', { account: fenxiaoWords.account, symbol: $lang('common.currencySymbol'), amount: info.total_commission | moneyFormat }) }}
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
@@ -111,8 +111,8 @@
|
||||
</image>
|
||||
</view>
|
||||
<view class="info">
|
||||
<view class="title">{{ fenxiaoWords.concept + $lang('order') }}</view>
|
||||
<view class="desc">{{ fenxiaoWords.concept + $lang('orderDetail') }}</view>
|
||||
<view class="title">{{ fenxiaoWords.concept + $lang('fenxiao.index.order') }}</view>
|
||||
<view class="desc">{{ fenxiaoWords.concept + $lang('fenxiao.index.orderDetail') }}</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
@@ -121,8 +121,8 @@
|
||||
<image :src="$util.img('public/uniapp/fenxiao/index/friend.png')" mode="widthFix" show-menu-by-longpress></image>
|
||||
</view>
|
||||
<view class="info">
|
||||
<view class="title">{{ $lang('myInviteCode') }}</view>
|
||||
<view class="desc">{{ $lang('inviteFriendsEarnRewards') }}</view>
|
||||
<view class="title">{{ $lang('fenxiao.index.myInviteCode') }}</view>
|
||||
<view class="desc">{{ $lang('fenxiao.index.inviteFriendsEarnRewards') }}</view>
|
||||
</view>
|
||||
</view>
|
||||
<!-- <view class="menu-item" @click="$util.redirectTo('/pages_promotion/fenxiao/promote')">
|
||||
@@ -211,8 +211,8 @@
|
||||
<ns-copyright></ns-copyright>
|
||||
<view class="empty" v-if="!info.fenxiao_id > 0 && showEmpty">
|
||||
<image :src="$util.img('public/uniapp/fenxiao/index/no-fenxiao.png')" mode="widthFix" show-menu-by-longpress></image>
|
||||
<text>{{ $lang('notFenxiaoYet', { name: fenxiaoWords.fenxiao_name }) }}</text>
|
||||
<view @click="$util.redirectTo('/pages_promotion/fenxiao/apply')" class="color-base-bg">{{ $lang('joinNow') }}</view>
|
||||
<text>{{ $lang('fenxiao.index.notFenxiaoYet', { name: fenxiaoWords.fenxiao_name }) }}</text>
|
||||
<view @click="$util.redirectTo('/pages_promotion/fenxiao/apply')" class="color-base-bg">{{ $lang('fenxiao.index.joinNow') }}</view>
|
||||
</view>
|
||||
<loading-cover ref="loadingCover"></loading-cover>
|
||||
<ns-login ref="login"></ns-login>
|
||||
@@ -220,7 +220,7 @@
|
||||
<uni-popup ref="taskPopup" type="bottom">
|
||||
<view class="task-popup popup-layer" v-if="levelInfo">
|
||||
<view class="head-wrap">
|
||||
<text>{{ $lang('quickUpgradeTips') }}</text>
|
||||
<text>{{ $lang('fenxiao.index.quickUpgradeTips') }}</text>
|
||||
<text class="iconfont icon-close" @click="$refs.taskPopup.close()"></text>
|
||||
</view>
|
||||
<view class="body-wrap">
|
||||
@@ -228,7 +228,7 @@
|
||||
<text class="subordinate-consumption">
|
||||
{{ item.title }}
|
||||
<text class="iconfont icon-wenhao" @click="openTips(item)"></text>
|
||||
<text class="incomplete">{{ item.progress == 100 ? $lang('completed') : $lang('incomplete') }}</text>
|
||||
<text class="incomplete">{{ item.progress == 100 ? $lang('completed') : $lang('fenxiao.index.incomplete') }}</text>
|
||||
</text>
|
||||
<view class="circle">
|
||||
<progress :percent="item.progress" activeColor="#E7B667" stroke-width="4" />
|
||||
@@ -236,7 +236,7 @@
|
||||
<text class="zero">{{ item.value }}</text>
|
||||
<text>/{{ item.condition }}</text>
|
||||
<text class="to-complete-box" @click="$util.redirectTo('/pages_promotion/fenxiao/promote')">
|
||||
<text class="to-complete">{{ item.progress == 100 ? $lang('completed') : $lang('goComplete') }}</text>
|
||||
<text class="to-complete">{{ item.progress == 100 ? $lang('completed') : $lang('fenxiao.index.goComplete') }}</text>
|
||||
</text>
|
||||
</view>
|
||||
</view>
|
||||
@@ -246,12 +246,12 @@
|
||||
<uni-popup type="bottom" ref="tips">
|
||||
<view class="popup">
|
||||
<view class="popup-header">
|
||||
<text class="tit">{{ $lang('tip') }}</text>
|
||||
<text class="tit">{{ $lang('fenxiao.index.tip') }}</text>
|
||||
<text class="iconfont icon-close" @click="$refs.tips.close()"></text>
|
||||
</view>
|
||||
<view class="popup-body">
|
||||
<view>{{ tips }}</view>
|
||||
<view v-if="levelInfo">{{ levelInfo.upgrade_type == 1 ? $lang('anyConditionUpgrade') : $lang('allConditionsUpgrade') }}</view>
|
||||
<view v-if="levelInfo">{{ levelInfo.upgrade_type == 1 ? $lang('fenxiao.index.anyConditionUpgrade') : $lang('fenxiao.index.allConditionsUpgrade') }}</view>
|
||||
</view>
|
||||
</view>
|
||||
</uni-popup>
|
||||
@@ -295,7 +295,7 @@ export default {
|
||||
return;
|
||||
}
|
||||
|
||||
if (this.fenxiaoWords && this.fenxiaoWords.concept) this.$langConfig.title(this.fenxiaoWords.concept + this.$lang('center'));
|
||||
if (this.fenxiaoWords && this.fenxiaoWords.concept) this.$langConfig.title(this.fenxiaoWords.concept + this.$lang('fenxiao.index.center'));
|
||||
|
||||
this.checkFenxiaoIsStart();
|
||||
this.getTemplateId();
|
||||
@@ -305,7 +305,7 @@ export default {
|
||||
setTimeout(() => {
|
||||
if (!this.addonIsExist.fenxiao) {
|
||||
this.$util.showToast({
|
||||
title: this.$lang('merchantNotOpenFenxiao'),
|
||||
title: this.$lang('fenxiao.index.merchantNotOpenFenxiao'),
|
||||
mask: true,
|
||||
duration: 2000
|
||||
});
|
||||
@@ -346,7 +346,7 @@ export default {
|
||||
this.getFenxiaoDetail();
|
||||
} else {
|
||||
this.$util.showToast({
|
||||
title: this.$lang('merchantNotOpenFenxiao'),
|
||||
title: this.$lang('fenxiao.index.merchantNotOpenFenxiao'),
|
||||
mask: true,
|
||||
duration: 2000
|
||||
});
|
||||
@@ -366,7 +366,7 @@ export default {
|
||||
if (res.data) {
|
||||
if (res.data.status == -1) {
|
||||
this.$util.showToast({
|
||||
title: this.$lang('fenxiaoFrozen')
|
||||
title: this.$lang('fenxiao.index.fenxiaoFrozen')
|
||||
});
|
||||
setTimeout(() => {
|
||||
this.$util.redirectTo(this.$util.MEMBER_PAGE_URL);
|
||||
@@ -474,9 +474,9 @@ export default {
|
||||
|
||||
if (level.one_fenxiao_order_num > 0) {
|
||||
let task = {
|
||||
title: this.$lang('subordinateConsumption'),
|
||||
desc: this.$lang('subordinateOrderCount', { count: level.one_fenxiao_order_num }),
|
||||
tips: this.$lang('subordinateOrderCountTip'),
|
||||
title: this.$lang('fenxiao.index.subordinateConsumption'),
|
||||
desc: this.$lang('fenxiao.index.subordinateOrderCount', { count: level.one_fenxiao_order_num }),
|
||||
tips: this.$lang('fenxiao.index.subordinateOrderCountTip'),
|
||||
condition: level.one_fenxiao_order_num,
|
||||
value: this.info.one_fenxiao_order_num,
|
||||
progress: parseFloat(this.info.one_fenxiao_order_num) > parseFloat(level.one_fenxiao_order_num) ?
|
||||
@@ -488,9 +488,9 @@ export default {
|
||||
}
|
||||
if (level.one_fenxiao_total_order > 0) {
|
||||
let task = {
|
||||
title: this.$lang('subordinateConsumption'),
|
||||
desc: this.$lang('subordinateOrderAmount', { amount: this.moneyFormat(level.one_fenxiao_total_order) }),
|
||||
tips: this.$lang('subordinateOrderAmountTip'),
|
||||
title: this.$lang('fenxiao.index.subordinateConsumption'),
|
||||
desc: this.$lang('fenxiao.index.subordinateOrderAmount', { amount: this.moneyFormat(level.one_fenxiao_total_order) }),
|
||||
tips: this.$lang('fenxiao.index.subordinateOrderAmountTip'),
|
||||
condition: this.moneyFormat(level.one_fenxiao_total_order),
|
||||
value: this.info.one_fenxiao_total_order,
|
||||
progress: parseFloat(this.info.one_fenxiao_total_order) > parseFloat(level.one_fenxiao_total_order) ?
|
||||
@@ -502,9 +502,9 @@ export default {
|
||||
}
|
||||
if (level.one_fenxiao_order_money > 0) {
|
||||
let task = {
|
||||
title: this.$lang('subordinateConsumption'),
|
||||
desc: this.$lang('subordinateCommissionAmount', { account: this.fenxiaoWords.account, amount: this.moneyFormat(level.one_fenxiao_order_money) }),
|
||||
tips: this.$lang('subordinateCommissionAmountTip', { account: this.fenxiaoWords.account }),
|
||||
title: this.$lang('fenxiao.index.subordinateConsumption'),
|
||||
desc: this.$lang('fenxiao.index.subordinateCommissionAmount', { account: this.fenxiaoWords.account, amount: this.moneyFormat(level.one_fenxiao_order_money) }),
|
||||
tips: this.$lang('fenxiao.index.subordinateCommissionAmountTip', { account: this.fenxiaoWords.account }),
|
||||
condition: this.moneyFormat(level.one_fenxiao_order_money),
|
||||
value: this.info.one_fenxiao_order_money,
|
||||
progress: parseFloat(this.info.one_fenxiao_order_money) > parseFloat(level.one_fenxiao_order_money) ?
|
||||
@@ -516,9 +516,9 @@ export default {
|
||||
}
|
||||
if (level.order_num > 0) {
|
||||
let task = {
|
||||
title: this.$lang('selfConsumption'),
|
||||
desc: this.$lang('selfOrderCount', { count: level.order_num }),
|
||||
tips: this.$lang('selfOrderCountTip'),
|
||||
title: this.$lang('fenxiao.index.selfConsumption'),
|
||||
desc: this.$lang('fenxiao.index.selfOrderCount', { count: level.order_num }),
|
||||
tips: this.$lang('fenxiao.index.selfOrderCountTip'),
|
||||
condition: level.order_num,
|
||||
value: this.info.order_num,
|
||||
progress: parseFloat(this.info.order_num) > parseFloat(level.order_num) ? 100 : ((parseFloat(this.info.order_num) / parseFloat(level.order_num)) * 100).toFixed(2)
|
||||
@@ -528,9 +528,9 @@ export default {
|
||||
}
|
||||
if (level.order_money > 0) {
|
||||
let task = {
|
||||
title: this.$lang('selfConsumption'),
|
||||
desc: this.$lang('selfOrderAmount', { amount: this.moneyFormat(level.order_money) }),
|
||||
tips: this.$lang('selfOrderAmountTip'),
|
||||
title: this.$lang('fenxiao.index.selfConsumption'),
|
||||
desc: this.$lang('fenxiao.index.selfOrderAmount', { amount: this.moneyFormat(level.order_money) }),
|
||||
tips: this.$lang('fenxiao.index.selfOrderAmountTip'),
|
||||
condition: this.moneyFormat(level.order_money),
|
||||
value: this.info.order_money,
|
||||
progress: parseFloat(this.info.order_money) > parseFloat(level.order_money) ?
|
||||
@@ -542,9 +542,9 @@ export default {
|
||||
}
|
||||
if (level.one_child_num > 0) {
|
||||
let task = {
|
||||
title: this.$lang('inviteFriends'),
|
||||
desc: this.$lang('inviteFriendCount', { count: level.one_child_num }),
|
||||
tips: this.$lang('inviteFriendCountTip'),
|
||||
title: this.$lang('fenxiao.index.inviteFriends'),
|
||||
desc: this.$lang('fenxiao.index.inviteFriendCount', { count: level.one_child_num }),
|
||||
tips: this.$lang('fenxiao.index.inviteFriendCountTip'),
|
||||
condition: level.one_child_num,
|
||||
value: this.info.one_child_num,
|
||||
progress: parseFloat(this.info.one_child_num) > parseFloat(level.one_child_num) ?
|
||||
@@ -556,9 +556,9 @@ export default {
|
||||
}
|
||||
if (level.one_child_fenxiao_num > 0) {
|
||||
let task = {
|
||||
title: this.$lang('inviteFriends'),
|
||||
desc: this.$lang('inviteFenxiaoCount', { count: level.one_child_fenxiao_num }),
|
||||
tips: this.$lang('inviteFenxiaoCountTip'),
|
||||
title: this.$lang('fenxiao.index.inviteFriends'),
|
||||
desc: this.$lang('fenxiao.index.inviteFenxiaoCount', { count: level.one_child_fenxiao_num }),
|
||||
tips: this.$lang('fenxiao.index.inviteFenxiaoCountTip'),
|
||||
condition: level.one_child_fenxiao_num,
|
||||
value: this.info.one_child_fenxiao_num,
|
||||
progress: parseFloat(this.info.one_child_fenxiao_num) > parseFloat(level.one_child_fenxiao_num) ?
|
||||
|
||||
@@ -17,15 +17,15 @@
|
||||
</view>
|
||||
<view class="level-rate">
|
||||
<view class="rate-item" v-if="config.level > 0">
|
||||
<view class="title">{{ $lang('firstLevelCommissionRate') }}</view>
|
||||
<view class="title">{{ $lang('fenxiao.level.firstLevelCommissionRate') }}</view>
|
||||
<view class="rate">{{ item.one_rate }}<text class="percentage">%</text></view>
|
||||
</view>
|
||||
<view class="rate-item" v-if="config.level > 1">
|
||||
<view class="title">{{ $lang('secondLevelCommissionRate') }}</view>
|
||||
<view class="title">{{ $lang('fenxiao.level.secondLevelCommissionRate') }}</view>
|
||||
<view class="rate">{{ item.two_rate }}<text class="percentage">%</text></view>
|
||||
</view>
|
||||
<view class="rate-item" v-if="config.level > 2">
|
||||
<view class="title">{{ $lang('thirdLevelCommissionRate') }}</view>
|
||||
<view class="title">{{ $lang('fenxiao.level.thirdLevelCommissionRate') }}</view>
|
||||
<view class="rate">{{ item.three_rate }}<text class="percentage">%</text></view>
|
||||
</view>
|
||||
</view>
|
||||
@@ -40,7 +40,7 @@
|
||||
|
||||
<view class="level-condition" v-if="levelInfo">
|
||||
<view class="condition-title">
|
||||
<view class="title">{{ $lang('quickUpgradeTips') }}</view>
|
||||
<view class="title">{{ $lang('fenxiao.level.quickUpgradeTips') }}</view>
|
||||
<view class="rate price-font">
|
||||
<text class="complete">{{ levelInfo.complete > levelInfo.task_num ? levelInfo.task_num : levelInfo.complete }}</text>
|
||||
<text class="num">/{{ levelInfo.task_num }}</text>
|
||||
@@ -54,7 +54,7 @@
|
||||
<text class="iconfont icon-wenxiao" @click="openTips(item)"></text>
|
||||
</view>
|
||||
<view class="status" :class="{'complete': item.progress == 100}">
|
||||
{{ item.progress == 100 ? $lang('completed') : $lang('incomplete') }}</view>
|
||||
{{ item.progress == 100 ? $lang('completed') : $lang('fenxiao.level.incomplete') }}</view>
|
||||
</view>
|
||||
<view class="progress">
|
||||
<progress :percent="item.progress" activeColor="#E7B667" stroke-width="4" />
|
||||
@@ -73,12 +73,12 @@
|
||||
<uni-popup type="bottom" ref="tips">
|
||||
<view class="popup">
|
||||
<view class="popup-header">
|
||||
<text class="tit">{{ $lang('tip') }}</text>
|
||||
<text class="tit">{{ $lang('fenxiao.level.tip') }}</text>
|
||||
<text class="iconfont icon-close" @click="$refs.tips.close()"></text>
|
||||
</view>
|
||||
<view class="popup-body">
|
||||
<view>{{ tips }}</view>
|
||||
<view v-if="levelInfo">{{ levelInfo.upgrade_type == 1 ? $lang('anyConditionUpgrade') : $lang('allConditionsUpgrade') }}</view>
|
||||
<view v-if="levelInfo">{{ levelInfo.upgrade_type == 1 ? $lang('fenxiao.level.anyConditionUpgrade') : $lang('fenxiao.level.allConditionsUpgrade') }}</view>
|
||||
</view>
|
||||
</view>
|
||||
</uni-popup>
|
||||
@@ -114,9 +114,9 @@
|
||||
|
||||
if (level.one_fenxiao_order_num > 0) {
|
||||
let task = {
|
||||
title: this.$lang('subordinateConsumption'),
|
||||
desc: this.$lang('subordinateOrderCount', { count: level.one_fenxiao_order_num }),
|
||||
tips: this.$lang('subordinateOrderCountTip', { count: level.one_fenxiao_order_num }),
|
||||
title: this.$lang('fenxiao.level.subordinateConsumption'),
|
||||
desc: this.$lang('fenxiao.level.subordinateOrderCount', { count: level.one_fenxiao_order_num }),
|
||||
tips: this.$lang('fenxiao.level.subordinateOrderCountTip', { count: level.one_fenxiao_order_num }),
|
||||
condition: level.one_fenxiao_order_num,
|
||||
value: this.fenxiaoInfo.one_fenxiao_order_num,
|
||||
progress: parseFloat(this.fenxiaoInfo.one_fenxiao_order_num) > parseFloat(level.one_fenxiao_order_num) ? 100 : (parseFloat(this.fenxiaoInfo.one_fenxiao_order_num) / parseFloat(level.one_fenxiao_order_num) * 100).toFixed(2)
|
||||
@@ -126,9 +126,9 @@
|
||||
}
|
||||
if (level.one_fenxiao_total_order > 0) {
|
||||
let task = {
|
||||
title: this.$lang('subordinateConsumption'),
|
||||
desc: this.$lang('subordinateOrderAmount', { amount: this.moneyFormat(level.one_fenxiao_total_order) }),
|
||||
tips: this.$lang('subordinateOrderAmountTip', { amount: this.moneyFormat(level.one_fenxiao_total_order) }),
|
||||
title: this.$lang('fenxiao.level.subordinateConsumption'),
|
||||
desc: this.$lang('fenxiao.level.subordinateOrderAmount', { amount: this.moneyFormat(level.one_fenxiao_total_order) }),
|
||||
tips: this.$lang('fenxiao.level.subordinateOrderAmountTip', { amount: this.moneyFormat(level.one_fenxiao_total_order) }),
|
||||
condition: this.moneyFormat(level.one_fenxiao_total_order),
|
||||
value: this.fenxiaoInfo.one_fenxiao_total_order,
|
||||
progress: parseFloat(this.fenxiaoInfo.one_fenxiao_total_order) > parseFloat(level.one_fenxiao_total_order) ? 100 : (parseFloat(this.fenxiaoInfo.one_fenxiao_total_order) / parseFloat(level.one_fenxiao_total_order) * 100)
|
||||
@@ -139,9 +139,9 @@
|
||||
}
|
||||
if (level.one_fenxiao_order_money > 0) {
|
||||
let task = {
|
||||
title: this.$lang('subordinateConsumption'),
|
||||
desc: this.$lang('subordinateCommissionAmount', { amount: this.moneyFormat(level.one_fenxiao_order_money) }),
|
||||
tips: this.$lang('subordinateCommissionAmountTip', { amount: this.moneyFormat(level.one_fenxiao_order_money) }),
|
||||
title: this.$lang('fenxiao.level.subordinateConsumption'),
|
||||
desc: this.$lang('fenxiao.level.subordinateCommissionAmount', { amount: this.moneyFormat(level.one_fenxiao_order_money) }),
|
||||
tips: this.$lang('fenxiao.level.subordinateCommissionAmountTip', { amount: this.moneyFormat(level.one_fenxiao_order_money) }),
|
||||
condition: this.moneyFormat(level.one_fenxiao_order_money),
|
||||
value: this.fenxiaoInfo.one_fenxiao_order_money,
|
||||
progress: parseFloat(this.fenxiaoInfo.one_fenxiao_order_money) > parseFloat(level.one_fenxiao_order_money) ? 100 : (parseFloat(this.fenxiaoInfo.one_fenxiao_order_money) / parseFloat(level.one_fenxiao_order_money) * 100)
|
||||
@@ -152,9 +152,9 @@
|
||||
}
|
||||
if (level.order_num > 0) {
|
||||
let task = {
|
||||
title: this.$lang('selfConsumption'),
|
||||
desc: this.$lang('selfOrderCount', { count: level.order_num }),
|
||||
tips: this.$lang('selfOrderCountTip', { count: level.order_num }),
|
||||
title: this.$lang('fenxiao.level.selfConsumption'),
|
||||
desc: this.$lang('fenxiao.level.selfOrderCount', { count: level.order_num }),
|
||||
tips: this.$lang('fenxiao.level.selfOrderCountTip', { count: level.order_num }),
|
||||
condition: level.order_num,
|
||||
value: this.fenxiaoInfo.order_num,
|
||||
progress: parseFloat(this.fenxiaoInfo.order_num) > parseFloat(level.order_num) ? 100 : (parseFloat(this.fenxiaoInfo.order_num) / parseFloat(level.order_num) * 100).toFixed(2)
|
||||
@@ -164,9 +164,9 @@
|
||||
}
|
||||
if (level.order_money > 0) {
|
||||
let task = {
|
||||
title: this.$lang('selfConsumption'),
|
||||
desc: this.$lang('selfOrderAmount', { amount: this.moneyFormat(level.order_money) }),
|
||||
tips: this.$lang('selfOrderAmountTip', { amount: this.moneyFormat(level.order_money) }),
|
||||
title: this.$lang('fenxiao.level.selfConsumption'),
|
||||
desc: this.$lang('fenxiao.level.selfOrderAmount', { amount: this.moneyFormat(level.order_money) }),
|
||||
tips: this.$lang('fenxiao.level.selfOrderAmountTip', { amount: this.moneyFormat(level.order_money) }),
|
||||
condition: this.moneyFormat(level.order_money),
|
||||
value: this.fenxiaoInfo.order_money,
|
||||
progress: parseFloat(this.fenxiaoInfo.order_money) > parseFloat(level.order_money) ? 100 : (parseFloat(this.fenxiaoInfo.order_money) / parseFloat(level.order_money) * 100).toFixed(2)
|
||||
@@ -176,9 +176,9 @@
|
||||
}
|
||||
if (level.one_child_num > 0) {
|
||||
let task = {
|
||||
title: this.$lang('inviteFriends'),
|
||||
desc: this.$lang('inviteFriendCount', { count: level.one_child_num }),
|
||||
tips: this.$lang('inviteFriendCountTip', { count: level.one_child_num }),
|
||||
title: this.$lang('fenxiao.level.inviteFriends'),
|
||||
desc: this.$lang('fenxiao.level.inviteFriendCount', { count: level.one_child_num }),
|
||||
tips: this.$lang('fenxiao.level.inviteFriendCountTip', { count: level.one_child_num }),
|
||||
condition: level.one_child_num,
|
||||
value: this.fenxiaoInfo.one_child_num,
|
||||
progress: parseFloat(this.fenxiaoInfo.one_child_num) > parseFloat(level.one_child_num) ? 100 : (parseFloat(this.fenxiaoInfo.one_child_num) / parseFloat(level.one_child_num) * 100).toFixed(2)
|
||||
@@ -188,9 +188,9 @@
|
||||
}
|
||||
if (level.one_child_fenxiao_num > 0) {
|
||||
let task = {
|
||||
title: this.$lang('inviteFriends'),
|
||||
desc: this.$lang('inviteFenxiaoCount', { count: level.one_child_fenxiao_num }),
|
||||
tips: this.$lang('inviteFenxiaoCountTip', { count: level.one_child_fenxiao_num }),
|
||||
title: this.$lang('fenxiao.level.inviteFriends'),
|
||||
desc: this.$lang('fenxiao.level.inviteFenxiaoCount', { count: level.one_child_fenxiao_num }),
|
||||
tips: this.$lang('fenxiao.level.inviteFenxiaoCountTip', { count: level.one_child_fenxiao_num }),
|
||||
condition: level.one_child_fenxiao_num,
|
||||
value: this.fenxiaoInfo.one_child_fenxiao_num,
|
||||
progress: parseFloat(this.fenxiaoInfo.one_child_fenxiao_num) > parseFloat(level.one_child_fenxiao_num) ? 100 : (parseFloat(this.fenxiaoInfo.one_child_fenxiao_num) / parseFloat(level.one_child_fenxiao_num) * 100).toFixed(2)
|
||||
@@ -208,7 +208,7 @@
|
||||
setTimeout( () => {
|
||||
if (!this.addonIsExist.fenxiao) {
|
||||
this.$util.showToast({
|
||||
title: this.$lang('merchantNotOpenFenxiao'),
|
||||
title: this.$lang('fenxiao.level.merchantNotOpenFenxiao'),
|
||||
mask: true,
|
||||
duration: 2000
|
||||
});
|
||||
@@ -218,7 +218,7 @@
|
||||
}
|
||||
},1000);
|
||||
|
||||
if (this.fenxiaoWords && this.fenxiaoWords.fenxiao_name) this.$langConfig.title(this.fenxiaoWords.fenxiao_name + this.$lang('levelSuffix'));
|
||||
if (this.fenxiaoWords && this.fenxiaoWords.fenxiao_name) this.$langConfig.title(this.fenxiaoWords.fenxiao_name + this.$lang('fenxiao.level.levelSuffix'));
|
||||
|
||||
if (this.storeToken) {
|
||||
this.getFenxiaoInfo();
|
||||
|
||||
@@ -14,10 +14,10 @@
|
||||
@click="toDetail(orderItem.fenxiao_order_id)">
|
||||
<view class="order-header">
|
||||
<text class="site-name font-size-base">{{ orderItem.order_no }}</text>
|
||||
<text class="status-name color-base-text" v-if="orderItem.is_refund == 1">{{ $lang('statusRefunded') }}</text>
|
||||
<text class="status-name color-base-text" v-if="orderItem.is_refund == 1">{{ $lang('fenxiao.order.statusRefunded') }}</text>
|
||||
<text class="status-name color-text-green"
|
||||
v-else-if="orderItem.is_settlement == 1">{{ $lang('statusSettled') }}</text>
|
||||
<text class="status-name color-text-orange" v-else>{{ $lang('statusPendingSettlement') }}</text>
|
||||
v-else-if="orderItem.is_settlement == 1">{{ $lang('fenxiao.order.statusSettled') }}</text>
|
||||
<text class="status-name color-text-orange" v-else>{{ $lang('fenxiao.order.statusPendingSettlement') }}</text>
|
||||
</view>
|
||||
|
||||
<view class="order-body">
|
||||
@@ -30,7 +30,7 @@
|
||||
<view class="top-wrap">
|
||||
<view class="goods-name font-size-base">{{ orderItem.sku_name }}</view>
|
||||
<view>
|
||||
<text class="color-tip">{{ $lang('earnPrefix') }}{{ fenxiaoWords.account }}</text>
|
||||
<text class="color-tip">{{ $lang('fenxiao.order.earnPrefix') }}{{ fenxiaoWords.account }}</text>
|
||||
<text class="price-color price-style small">{{
|
||||
$lang('common.currencySymbol') }}</text>
|
||||
<text class="price-color price-style large">{{
|
||||
@@ -66,7 +66,7 @@
|
||||
<text class="color-base-text">{{ $lang('common.currencySymbol') }}{{ orderItem.commission }}</text> -->
|
||||
</view>
|
||||
<view class="total">
|
||||
<text>{{ $lang('totalLabel') }}</text>
|
||||
<text>{{ $lang('fenxiao.order.totalLabel') }}</text>
|
||||
<text class="price-color">{{ $lang('common.currencySymbol') }}</text>
|
||||
<text class="price-color font-size-toolbar">{{
|
||||
parseFloat(orderItem.real_goods_money).toFixed(2).split(".")[0] }}</text>
|
||||
@@ -78,13 +78,13 @@
|
||||
</view>
|
||||
</view>
|
||||
<view class="cart-empty">
|
||||
<ns-empty :text="$lang('noOrders')" :isIndex="false"
|
||||
<ns-empty :text="$lang('fenxiao.order.noOrders')" :isIndex="false"
|
||||
v-if="selectId == 0 && orderList.length == 0 && emptyShow"></ns-empty>
|
||||
<ns-empty :text="$lang('noPendingSettlementOrders')" :isIndex="false"
|
||||
<ns-empty :text="$lang('fenxiao.order.noPendingSettlementOrders')" :isIndex="false"
|
||||
v-if="selectId == 1 && orderList.length == 0 && emptyShow"></ns-empty>
|
||||
<ns-empty :text="$lang('noSettledOrders')" :isIndex="false"
|
||||
<ns-empty :text="$lang('fenxiao.order.noSettledOrders')" :isIndex="false"
|
||||
v-if="selectId == 2 && orderList.length == 0 && emptyShow"></ns-empty>
|
||||
<ns-empty :text="$lang('noRefundedOrders')" :isIndex="false"
|
||||
<ns-empty :text="$lang('fenxiao.order.noRefundedOrders')" :isIndex="false"
|
||||
v-if="selectId == 3 && orderList.length == 0 && emptyShow"></ns-empty>
|
||||
</view>
|
||||
</view>
|
||||
@@ -142,7 +142,7 @@ export default {
|
||||
setTimeout(() => {
|
||||
if (!this.addonIsExist.fenxiao) {
|
||||
this.$util.showToast({
|
||||
title: this.$lang('merchantNotOpenFenxiao'),
|
||||
title: this.$lang('fenxiao.order.merchantNotOpenFenxiao'),
|
||||
mask: true,
|
||||
duration: 2000
|
||||
});
|
||||
@@ -152,7 +152,7 @@ export default {
|
||||
}
|
||||
}, 1000);
|
||||
|
||||
if (this.fenxiaoWords && this.fenxiaoWords.concept) this.$langConfig.title(this.fenxiaoWords.concept + this.$lang('orderSuffix'));
|
||||
if (this.fenxiaoWords && this.fenxiaoWords.concept) this.$langConfig.title(this.fenxiaoWords.concept + this.$lang('fenxiao.order.orderSuffix'));
|
||||
|
||||
if (!this.storeToken) {
|
||||
this.redirectTologin('/pages_promotion/fenxiao/order');
|
||||
|
||||
@@ -4,11 +4,11 @@
|
||||
<view class="order-detail-box">
|
||||
<view class="header">
|
||||
<view class="title">
|
||||
<text>{{ $lang('totalItems', { count: orderData.num }) }}</text>
|
||||
<text>{{ $lang('fenxiao.order_detail.totalItems', { count: orderData.num }) }}</text>
|
||||
</view>
|
||||
<text class="color-base-text font-size-tag" v-if="orderData.is_refund == 1">{{ $lang('statusRefunded') }}</text>
|
||||
<text class="color-base-text font-size-tag" v-else-if="orderData.is_settlement == 1">{{ $lang('statusSettled') }}</text>
|
||||
<text class="color-base-text font-size-tag" v-else>{{ $lang('statusPendingSettlement') }}</text>
|
||||
<text class="color-base-text font-size-tag" v-if="orderData.is_refund == 1">{{ $lang('fenxiao.order_detail.statusRefunded') }}</text>
|
||||
<text class="color-base-text font-size-tag" v-else-if="orderData.is_settlement == 1">{{ $lang('fenxiao.order_detail.statusSettled') }}</text>
|
||||
<text class="color-base-text font-size-tag" v-else>{{ $lang('fenxiao.order_detail.statusPendingSettlement') }}</text>
|
||||
</view>
|
||||
<view class="detail-body">
|
||||
<view class="detail-body-box">
|
||||
@@ -37,27 +37,27 @@
|
||||
<view class="detail-footer">
|
||||
<text></text>
|
||||
<text>
|
||||
<text>{{ $lang('totalLabel') }}</text>
|
||||
<text>{{ $lang('fenxiao.order_detail.totalLabel') }}</text>
|
||||
<text class="price-color total">{{ $lang('common.currencySymbol') }}{{ orderData.real_goods_money }}</text>
|
||||
</text>
|
||||
</view>
|
||||
</view>
|
||||
<view class="order-detail-box commission">
|
||||
<view class="header">
|
||||
<view class="title color-base-bg-before"><text>{{ $lang('commissionDetail') }}</text></view>
|
||||
<view class="title color-base-bg-before"><text>{{ $lang('fenxiao.order_detail.commissionDetail') }}</text></view>
|
||||
<text class="color-base-text"> </text>
|
||||
</view>
|
||||
<view class="detail-content">
|
||||
<view class="order-info-item">
|
||||
<text class="tit">{{ $lang('orderNo') }}</text>
|
||||
<text class="tit">{{ $lang('fenxiao.order_detail.orderNo') }}</text>
|
||||
<text>{{ orderData.order_no }}</text>
|
||||
</view>
|
||||
<view class="order-info-item">
|
||||
<text class="tit">{{ $lang('commissionLevel') }}</text>
|
||||
<text>{{ $lang('levelText', { level: orderData.commission_level }) }}</text>
|
||||
<text class="tit">{{ $lang('fenxiao.order_detail.commissionLevel') }}</text>
|
||||
<text>{{ $lang('fenxiao.order_detail.levelText', { level: orderData.commission_level }) }}</text>
|
||||
</view>
|
||||
<view class="order-info-item">
|
||||
<text class="tit">{{ $lang('commissionAmount') }}</text>
|
||||
<text class="tit">{{ $lang('fenxiao.order_detail.commissionAmount') }}</text>
|
||||
<text class="price-color font-size-toolbar">
|
||||
<text class="font-size-goods-tag">{{ $lang('common.currencySymbol') }}</text>
|
||||
{{ parseFloat(orderData.commission).toFixed(2).split(".")[0] }}
|
||||
@@ -100,7 +100,7 @@ export default {
|
||||
setTimeout( () => {
|
||||
if (!this.addonIsExist.fenxiao) {
|
||||
this.$util.showToast({
|
||||
title: this.$lang('merchantNotOpenFenxiao'),
|
||||
title: this.$lang('fenxiao.order_detail.merchantNotOpenFenxiao'),
|
||||
mask: true,
|
||||
duration: 2000
|
||||
});
|
||||
@@ -131,7 +131,7 @@ export default {
|
||||
this.orderData = res.data;
|
||||
} else {
|
||||
this.$util.showToast({
|
||||
title: this.$lang('orderInfoNotFound')
|
||||
title: this.$lang('fenxiao.order_detail.orderInfoNotFound')
|
||||
});
|
||||
setTimeout(() => {
|
||||
this.$util.redirectTo('/pages_promotion/fenxiao/order', {}, 'redirectTo');
|
||||
|
||||
@@ -10,16 +10,16 @@
|
||||
<image class="money-bg" :src="$util.img('public/uniapp/fenxiao/promote/money.png')"
|
||||
mode="aspectFill"></image>
|
||||
<view class="content">
|
||||
{{ $lang('totalEarnings') }}
|
||||
{{ $lang('fenxiao.promote.totalEarnings') }}
|
||||
<text class="money-text">{{ detailData.total_commission }}</text>
|
||||
{{ $lang('currencyUnit') }}
|
||||
{{ $lang('fenxiao.promote.currencyUnit') }}
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="earnings-body">
|
||||
<view class="earnings-tab">
|
||||
<text :class="{ active: tabIndex == 0 }" @click="tabCut(0)">{{ $lang('invitedFriends') }}</text>
|
||||
<text :class="{ active: tabIndex == 1 }" @click="tabCut(1)">{{ $lang('orderedFriends') }}</text>
|
||||
<text :class="{ active: tabIndex == 0 }" @click="tabCut(0)">{{ $lang('fenxiao.promote.invitedFriends') }}</text>
|
||||
<text :class="{ active: tabIndex == 1 }" @click="tabCut(1)">{{ $lang('fenxiao.promote.orderedFriends') }}</text>
|
||||
</view>
|
||||
<scroll-view scroll-y="true" class="earnings-content-wrap" @scrolltolower="getTeam()">
|
||||
<view class="earnings-list" v-if="promote.list.length">
|
||||
@@ -32,7 +32,7 @@
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="earnings-empty" v-else>{{ $lang('noInvitedFriends') }}</view>
|
||||
<view class="earnings-empty" v-else>{{ $lang('fenxiao.promote.noInvitedFriends') }}</view>
|
||||
</scroll-view>
|
||||
</view>
|
||||
</view>
|
||||
@@ -41,9 +41,9 @@
|
||||
mode="aspectFit" show-menu-by-longpress></image>
|
||||
<view class="content" v-if="promoteContent.content"><rich-text
|
||||
:nodes="promoteContent.content"></rich-text></view>
|
||||
<view class="rules-empty" v-else>{{ $lang('noActivityRules') }}</view>
|
||||
<view class="rules-empty" v-else>{{ $lang('fenxiao.promote.noActivityRules') }}</view>
|
||||
</view>
|
||||
<view class="active-btn"><button type="primary" @click="toPoster()">{{ $lang('inviteFriends') }}</button></view>
|
||||
<view class="active-btn"><button type="primary" @click="toPoster()">{{ $lang('fenxiao.promote.inviteFriends') }}</button></view>
|
||||
<ns-copyright></ns-copyright>
|
||||
<ns-login ref="login"></ns-login>
|
||||
<loading-cover ref="loadingCover"></loading-cover>
|
||||
@@ -79,7 +79,7 @@ export default {
|
||||
setTimeout(() => {
|
||||
if (!this.addonIsExist.fenxiao) {
|
||||
this.$util.showToast({
|
||||
title: this.$lang('merchantNotOpenFenxiao'),
|
||||
title: this.$lang('fenxiao.promote.merchantNotOpenFenxiao'),
|
||||
mask: true,
|
||||
duration: 2000
|
||||
});
|
||||
|
||||
@@ -11,22 +11,22 @@
|
||||
</swiper>
|
||||
|
||||
<!-- #ifdef H5 -->
|
||||
<view class="tips">{{ $lang('longPressTip') }}</view>
|
||||
<view class="tips">{{ $lang('fenxiao.promote_code.longPressTip') }}</view>
|
||||
<!-- #endif -->
|
||||
|
||||
<!-- #ifdef MP -->
|
||||
<view class="btn color-base-bg color-base-border" @click="save">{{ $lang('savePoster') }}</view>
|
||||
<view class="btn color-base-bg color-base-border" @click="save">{{ $lang('fenxiao.promote_code.savePoster') }}</view>
|
||||
<!-- #endif -->
|
||||
|
||||
<uni-popup ref="popupDialog" :custom="true" :mask-click="false">
|
||||
<view class="dialog-popup">
|
||||
<view class="title">{{ $lang('dialogTitle') }}</view>
|
||||
<view class="message">{{ $lang('authDeniedMessage') }}</view>
|
||||
<view class="title">{{ $lang('fenxiao.promote_code.dialogTitle') }}</view>
|
||||
<view class="message">{{ $lang('fenxiao.promote_code.authDeniedMessage') }}</view>
|
||||
<view class="action-wrap">
|
||||
<view @click="closeDialog">{{ $lang('cancel') }}</view>
|
||||
<view @click="closeDialog">{{ $lang('fenxiao.promote_code.cancel') }}</view>
|
||||
<view>
|
||||
<button type="default" open-type="openSetting" @opensetting="closeDialog"
|
||||
hover-class="none">{{ $lang('authorizeNow') }}</button>
|
||||
hover-class="none">{{ $lang('fenxiao.promote_code.authorizeNow') }}</button>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
@@ -95,7 +95,7 @@ export default {
|
||||
filePath: res.tempFilePath,
|
||||
success: () => {
|
||||
this.$util.showToast({
|
||||
title: this.$lang('saveSuccess')
|
||||
title: this.$lang('fenxiao.promote_code.saveSuccess')
|
||||
});
|
||||
},
|
||||
fail: res => {
|
||||
@@ -104,20 +104,20 @@ export default {
|
||||
this.$refs.popupDialog.open();
|
||||
} else {
|
||||
this.$util.showToast({
|
||||
title: this.$lang('saveFail')
|
||||
title: this.$lang('fenxiao.promote_code.saveFail')
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
} else {
|
||||
this.$util.showToast({
|
||||
title: this.$lang('downloadFail')
|
||||
title: this.$lang('fenxiao.promote_code.downloadFail')
|
||||
});
|
||||
}
|
||||
},
|
||||
fail: res => {
|
||||
this.$util.showToast({
|
||||
title: this.$lang('downloadFail')
|
||||
title: this.$lang('fenxiao.promote_code.downloadFail')
|
||||
});
|
||||
}
|
||||
});
|
||||
@@ -136,7 +136,7 @@ export default {
|
||||
});
|
||||
} catch {
|
||||
this.$util.showToast({
|
||||
title: this.$lang('posterGenerateFail')
|
||||
title: this.$lang('fenxiao.promote_code.posterGenerateFail')
|
||||
});
|
||||
}
|
||||
},
|
||||
@@ -149,7 +149,7 @@ export default {
|
||||
setTimeout(() => {
|
||||
if (!this.addonIsExist.fenxiao) {
|
||||
this.$util.showToast({
|
||||
title: this.$lang('merchantNotOpenFenxiao'),
|
||||
title: this.$lang('fenxiao.promote_code.merchantNotOpenFenxiao'),
|
||||
mask: true,
|
||||
duration: 2000
|
||||
});
|
||||
|
||||
@@ -22,7 +22,7 @@ export default {
|
||||
setTimeout(() => {
|
||||
if (!this.addonIsExist.fenxiao) {
|
||||
this.$util.showToast({
|
||||
title: this.$lang('merchantNotOpenFenxiao'),
|
||||
title: this.$lang('fenxiao.goods_list.merchantNotOpenFenxiao'),
|
||||
mask: true,
|
||||
duration: 2000
|
||||
});
|
||||
@@ -48,7 +48,7 @@ export default {
|
||||
return;
|
||||
}
|
||||
|
||||
if (this.fenxiaoWords && this.fenxiaoWords.concept) this.$langConfig.title(this.fenxiaoWords.concept + this.$lang('center'));
|
||||
if (this.fenxiaoWords && this.fenxiaoWords.concept) this.$langConfig.title(this.fenxiaoWords.concept + this.$lang('fenxiao.goods_list.center'));
|
||||
this.is_fenxiao = Boolean(this.memberInfo.is_fenxiao);
|
||||
},
|
||||
methods: {
|
||||
@@ -157,7 +157,7 @@ export default {
|
||||
//生成海报
|
||||
getGoodsPoster() {
|
||||
uni.showLoading({
|
||||
'title': this.$lang('posterGenerating')
|
||||
'title': this.$lang('fenxiao.goods_list.posterGenerating')
|
||||
});
|
||||
let url = "";
|
||||
let data = {};
|
||||
@@ -204,12 +204,12 @@ export default {
|
||||
filePath: res.tempFilePath,
|
||||
success: () => {
|
||||
this.$util.showToast({
|
||||
title: this.$lang('saveSuccess')
|
||||
title: this.$lang('fenxiao.goods_list.saveSuccess')
|
||||
});
|
||||
},
|
||||
fail: () => {
|
||||
this.$util.showToast({
|
||||
title: this.$lang('saveFail')
|
||||
title: this.$lang('fenxiao.goods_list.saveFail')
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
@@ -16,9 +16,9 @@
|
||||
</view>
|
||||
<view class="withdrawal"
|
||||
@click="$util.redirectTo('/pages_promotion/fenxiao/withdraw_apply')"
|
||||
v-if="type == 'profit'">{{ $lang('clickToWithdraw') }}</view>
|
||||
v-if="type == 'profit'">{{ $lang('fenxiao.ranking_list.clickToWithdraw') }}</view>
|
||||
<view class="withdrawal" @click="$util.redirectTo('/pages_promotion/fenxiao/team')"
|
||||
v-if="type == 'invited_num'">{{ $lang('myTeam') }}</view>
|
||||
v-if="type == 'invited_num'">{{ $lang('fenxiao.ranking_list.myTeam') }}</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
@@ -30,8 +30,8 @@
|
||||
<text class="iconfont icon-fenxiao"></text>
|
||||
</view>
|
||||
<view class="all-money-tit-wrap">
|
||||
<text class="all-money-tit">{{ $lang('distributionCommission') }}</text>
|
||||
<text class="all-money-num">{{ $lang('todayCommission', { amount: info.today_commission }) }}</text>
|
||||
<text class="all-money-tit">{{ $lang('fenxiao.ranking_list.distributionCommission') }}</text>
|
||||
<text class="all-money-num">{{ $lang('fenxiao.ranking_list.todayCommission', { amount: info.today_commission }) }}</text>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
@@ -41,8 +41,8 @@
|
||||
<text class="iconfont icon-baixingbeng"></text>
|
||||
</view>
|
||||
<view class="all-money-tit-wrap">
|
||||
<text class="all-money-tit">{{ $lang('commissionRanking') }}</text>
|
||||
<text class="all-money-num">{{ $lang('rankingTip', { ranking: ranking }) }}</text>
|
||||
<text class="all-money-tit">{{ $lang('fenxiao.ranking_list.commissionRanking') }}</text>
|
||||
<text class="all-money-num">{{ $lang('fenxiao.ranking_list.rankingTip', { ranking: ranking }) }}</text>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
@@ -54,8 +54,8 @@
|
||||
<text class="iconfont icon-huodongtuiyan"></text>
|
||||
</view>
|
||||
<view class="all-money-tit-wrap">
|
||||
<text class="all-money-tit">{{ $lang('promotionCount') }}</text>
|
||||
<text class="all-money-num">{{ $lang('promotionPeople', { count: info.one_child_num }) }}</text>
|
||||
<text class="all-money-tit">{{ $lang('fenxiao.ranking_list.promotionCount') }}</text>
|
||||
<text class="all-money-num">{{ $lang('fenxiao.ranking_list.promotionPeople', { count: info.one_child_num }) }}</text>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
@@ -65,15 +65,15 @@
|
||||
<text class="iconfont icon-baixingbeng"></text>
|
||||
</view>
|
||||
<view class="all-money-tit-wrap">
|
||||
<text class="all-money-tit" v-if="type == 'invited_num'">{{ $lang('promotionRanking') }}</text>
|
||||
<text class="all-money-num">{{ $lang('rankingTip', { ranking: ranking }) }}</text>
|
||||
<text class="all-money-tit" v-if="type == 'invited_num'">{{ $lang('fenxiao.ranking_list.promotionRanking') }}</text>
|
||||
<text class="all-money-num">{{ $lang('fenxiao.ranking_list.rankingTip', { ranking: ranking }) }}</text>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="title-rakn-text" v-if="type == 'profit'">{{ $lang('commissionRanking') }}</view>
|
||||
<view class="title-rakn-text" v-if="type == 'invited_num'">{{ $lang('promotionRanking') }}</view>
|
||||
<view class="title-rakn-text" v-if="type == 'profit'">{{ $lang('fenxiao.ranking_list.commissionRanking') }}</view>
|
||||
<view class="title-rakn-text" v-if="type == 'invited_num'">{{ $lang('fenxiao.ranking_list.promotionRanking') }}</view>
|
||||
|
||||
<view class="ranking-list">
|
||||
<view class="ranking-item" v-for="(item, index) in list" :key="index">
|
||||
@@ -87,13 +87,13 @@
|
||||
</view>
|
||||
<view class="price-font price-style" v-if="type == 'profit'">
|
||||
¥{{ item.total_commission | moneyFormat }}</view>
|
||||
<view class="price-font price-style" v-if="type == 'invited_num'">{{ $lang('promotionPeople', { count: item.child_num }) }}
|
||||
<view class="price-font price-style" v-if="type == 'invited_num'">{{ $lang('fenxiao.ranking_list.promotionPeople', { count: item.child_num }) }}
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</block>
|
||||
<block v-if="list.length == 0 && emptyShow">
|
||||
<ns-empty :text="$lang('noData')" :isIndex="false"></ns-empty>
|
||||
<ns-empty :text="$lang('fenxiao.ranking_list.noData')" :isIndex="false"></ns-empty>
|
||||
</block>
|
||||
</view>
|
||||
</mescroll-uni>
|
||||
|
||||
@@ -7,10 +7,10 @@
|
||||
@click="toDetail(orderItem.fenxiao_order_id)">
|
||||
<view class="order-header">
|
||||
<text class="site-name font-size-base">{{ orderItem.order_no }}</text>
|
||||
<text class="status-name color-base-text" v-if="orderItem.is_refund == 1">{{ $lang('statusRefunded') }}</text>
|
||||
<text class="status-name color-base-text" v-if="orderItem.is_refund == 1">{{ $lang('fenxiao.relation.statusRefunded') }}</text>
|
||||
<text class="status-name color-text-green"
|
||||
v-else-if="orderItem.is_settlement == 1">{{ $lang('statusSettled') }}</text>
|
||||
<text class="status-name color-text-orange" v-else>{{ $lang('statusPendingSettlement') }}</text>
|
||||
v-else-if="orderItem.is_settlement == 1">{{ $lang('fenxiao.relation.statusSettled') }}</text>
|
||||
<text class="status-name color-text-orange" v-else>{{ $lang('fenxiao.relation.statusPendingSettlement') }}</text>
|
||||
</view>
|
||||
|
||||
<view class="order-body">
|
||||
@@ -23,7 +23,7 @@
|
||||
<view class="top-wrap">
|
||||
<view class="goods-name font-size-base">{{ orderItem.sku_name }}</view>
|
||||
<view>
|
||||
<text class="color-tip">{{ $lang('earnPrefix') }}{{ fenxiaoWords.account }}</text>
|
||||
<text class="color-tip">{{ $lang('fenxiao.relation.earnPrefix') }}{{ fenxiaoWords.account }}</text>
|
||||
<text class="price-color font-size-goods-tag">{{
|
||||
$lang('common.currencySymbol') }}</text>
|
||||
<text class="price-color font-size-toolbar">{{ orderItem.commission
|
||||
@@ -53,7 +53,7 @@
|
||||
<text class="color-base-text">{{ $lang('common.currencySymbol') }}{{ orderItem.commission }}</text> -->
|
||||
</view>
|
||||
<view class="total">
|
||||
<text>{{ $lang('totalLabel') }}</text>
|
||||
<text>{{ $lang('fenxiao.relation.totalLabel') }}</text>
|
||||
<text class="price-color">{{ $lang('common.currencySymbol') }}</text>
|
||||
<text class="font-size-toolbar price-color">{{ orderItem.real_goods_money }}</text>
|
||||
</view>
|
||||
@@ -61,7 +61,7 @@
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="cart-empty"><ns-empty :text="$lang('noOrders')" :isIndex="false"
|
||||
<view class="cart-empty"><ns-empty :text="$lang('fenxiao.relation.noOrders')" :isIndex="false"
|
||||
v-if="orderList.length == 0 && emptyShow"></ns-empty></view>
|
||||
</view>
|
||||
</mescroll-uni>
|
||||
@@ -93,7 +93,7 @@ export default {
|
||||
}
|
||||
},
|
||||
onShow() {
|
||||
if (this.fenxiaoWords && this.fenxiaoWords.concept) this.$langConfig.title(this.fenxiaoWords.concept + this.$lang('orderSuffix'));
|
||||
if (this.fenxiaoWords && this.fenxiaoWords.concept) this.$langConfig.title(this.fenxiaoWords.concept + this.$lang('fenxiao.relation.orderSuffix'));
|
||||
},
|
||||
methods: {
|
||||
//获得列表数据
|
||||
|
||||
@@ -25,21 +25,21 @@
|
||||
<view class="title color-base-border color-base-text">{{
|
||||
fenxiaoWords.fenxiao_name }}</view>
|
||||
</view>
|
||||
<view class="color-tip font-size-goods-tag">{{ $lang('joinTime') }}{{
|
||||
<view class="color-tip font-size-goods-tag">{{ $lang('fenxiao.team.joinTime') }}{{
|
||||
$util.timeStampTurnTime(item.bind_fenxiao_time).substring(0, 10) }}</view>
|
||||
</view>
|
||||
<view class="consume-info">
|
||||
<view>
|
||||
<text>{{ item.one_child_num }}</text>
|
||||
{{ $lang('peopleUnit') }}
|
||||
{{ $lang('fenxiao.team.peopleUnit') }}
|
||||
</view>
|
||||
<view>
|
||||
<text>{{ item.order_num }}</text>
|
||||
{{ $lang('orderUnit') }}
|
||||
{{ $lang('fenxiao.team.orderUnit') }}
|
||||
</view>
|
||||
<view>
|
||||
<text>{{ item.order_money | moneyFormat }}</text>
|
||||
{{ $lang('currencyUnit') }}
|
||||
{{ $lang('fenxiao.team.currencyUnit') }}
|
||||
</view>
|
||||
</view>
|
||||
</block>
|
||||
@@ -50,21 +50,21 @@
|
||||
<text>{{ item.nickname }}</text>
|
||||
</view>
|
||||
</view>
|
||||
<view class="color-tip font-size-goods-tag">{{ $lang('joinTime') }}{{
|
||||
<view class="color-tip font-size-goods-tag">{{ $lang('fenxiao.team.joinTime') }}{{
|
||||
$util.timeStampTurnTime(item.bind_fenxiao_time).substring(0, 10) }}</view>
|
||||
</view>
|
||||
<view class="consume-info">
|
||||
<view>
|
||||
<text>0</text>
|
||||
{{ $lang('peopleUnit') }}
|
||||
{{ $lang('fenxiao.team.peopleUnit') }}
|
||||
</view>
|
||||
<view>
|
||||
<text>{{ item.order_num }}</text>
|
||||
{{ $lang('orderUnit') }}
|
||||
{{ $lang('fenxiao.team.orderUnit') }}
|
||||
</view>
|
||||
<view>
|
||||
<text>{{ item.order_money | moneyFormat }}</text>
|
||||
{{ $lang('currencyUnit') }}
|
||||
{{ $lang('fenxiao.team.currencyUnit') }}
|
||||
</view>
|
||||
</view>
|
||||
</block>
|
||||
@@ -72,7 +72,7 @@
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<block v-if="teamList.length == 0 && emptyShow"><ns-empty :text="$lang('noData')" :isIndex="false"></ns-empty>
|
||||
<block v-if="teamList.length == 0 && emptyShow"><ns-empty :text="$lang('fenxiao.team.noData')" :isIndex="false"></ns-empty>
|
||||
</block>
|
||||
</block>
|
||||
</mescroll-uni>
|
||||
@@ -108,7 +108,7 @@ export default {
|
||||
setTimeout(() => {
|
||||
if (!this.addonIsExist.fenxiao) {
|
||||
this.$util.showToast({
|
||||
title: this.$lang('merchantNotOpenFenxiao'),
|
||||
title: this.$lang('fenxiao.team.merchantNotOpenFenxiao'),
|
||||
mask: true,
|
||||
duration: 2000
|
||||
});
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
<view class="container" :style="themeColor">
|
||||
<view class="bank-account-wrap" @click="goAccount()">
|
||||
<view class="tx-wrap" v-if="bankAccountInfo.withdraw_type && !isBalance">
|
||||
<text class="tx-to">{{ $lang('withdrawTo') }}</text>
|
||||
<view class="tx-bank" v-if="bankAccountInfo.withdraw_type == 'wechatpay'">{{ $lang('wechatDefaultWallet') }}</view>
|
||||
<text class="tx-to">{{ $lang('fenxiao.withdraw_apply.withdrawTo') }}</text>
|
||||
<view class="tx-bank" v-if="bankAccountInfo.withdraw_type == 'wechatpay'">{{ $lang('fenxiao.withdraw_apply.wechatDefaultWallet') }}</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" show-menu-by-longpress></image>
|
||||
@@ -16,10 +16,10 @@
|
||||
</image>
|
||||
</view>
|
||||
</view>
|
||||
<text class="tx-to" v-else-if="!isBalance">{{ $lang('pleaseAddWithdrawAccount') }}</text>
|
||||
<text class="tx-to" v-else-if="!isBalance">{{ $lang('fenxiao.withdraw_apply.pleaseAddWithdrawAccount') }}</text>
|
||||
<view class="tx-wrap" v-else="isBalance">
|
||||
<text class="tx-to">{{ $lang('withdrawTo') }}</text>
|
||||
<view class="tx-bank">{{ $lang('balance') }}</view>
|
||||
<text class="tx-to">{{ $lang('fenxiao.withdraw_apply.withdrawTo') }}</text>
|
||||
<view class="tx-bank">{{ $lang('fenxiao.withdraw_apply.balance') }}</view>
|
||||
<view class="tx-img">
|
||||
<image :src="$util.img('public/uniapp/member/apply_withdrawal/tixian.png')" mode="widthFix" show-menu-by-longpress></image>
|
||||
</view>
|
||||
@@ -28,7 +28,7 @@
|
||||
</view>
|
||||
<view class="empty-box"></view>
|
||||
<view class="withdraw-wrap">
|
||||
<view class="withdraw-wrap-title">{{ $lang('withdrawAmountLabel') }}</view>
|
||||
<view class="withdraw-wrap-title">{{ $lang('fenxiao.withdraw_apply.withdrawAmountLabel') }}</view>
|
||||
<view class="money-wrap">
|
||||
<text class="unit">{{ $lang('common.currencySymbol') }}</text>
|
||||
<input type="digit" class="withdraw-money" v-model="withdrawMoney" />
|
||||
@@ -38,14 +38,14 @@
|
||||
</view>
|
||||
<view class="bottom">
|
||||
<view>
|
||||
<text class="color-tip">{{ $lang('withdrawableAmountLabel') }}{{ $lang('common.currencySymbol') }}{{ withdrawInfo.account | moneyFormat }}</text>
|
||||
<text class="all-tx color-base-text" @click="allTx">{{ $lang('withdrawAll') }}</text>
|
||||
<text class="color-tip">{{ $lang('fenxiao.withdraw_apply.withdrawableAmountLabel') }}{{ $lang('common.currencySymbol') }}{{ withdrawInfo.account | moneyFormat }}</text>
|
||||
<text class="all-tx color-base-text" @click="allTx">{{ $lang('fenxiao.withdraw_apply.withdrawAll') }}</text>
|
||||
</view>
|
||||
</view>
|
||||
<view class="desc">
|
||||
<text v-if="withdrawConfigInfo.withdraw > 0">{{ $lang('minWithdrawAmountTip', { symbol: $lang('common.currencySymbol'), min: withdrawConfigInfo.withdraw | moneyFormat }) }}</text>
|
||||
<text v-if="withdrawConfigInfo.max > 0">{{ $lang('maxWithdrawAmountTip', { symbol: $lang('common.currencySymbol'), max: (withdrawConfigInfo.max > withdrawInfo.account ? withdrawInfo.account : withdrawConfigInfo.max) | moneyFormat }) }}</text>
|
||||
<text>{{ $lang('serviceFeeTip', { rate: withdrawConfigInfo.withdraw_rate + '%' }) }}</text>
|
||||
<text v-if="withdrawConfigInfo.withdraw > 0">{{ $lang('fenxiao.withdraw_apply.minWithdrawAmountTip', { symbol: $lang('common.currencySymbol'), min: withdrawConfigInfo.withdraw | moneyFormat }) }}</text>
|
||||
<text v-if="withdrawConfigInfo.max > 0">{{ $lang('fenxiao.withdraw_apply.maxWithdrawAmountTip', { symbol: $lang('common.currencySymbol'), max: (withdrawConfigInfo.max > withdrawInfo.account ? withdrawInfo.account : withdrawConfigInfo.max) | moneyFormat }) }}</text>
|
||||
<text>{{ $lang('fenxiao.withdraw_apply.serviceFeeTip', { rate: withdrawConfigInfo.withdraw_rate + '%' }) }}</text>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
@@ -56,7 +56,7 @@
|
||||
|
||||
<view class="grace-page-footer page-btm" style="z-index: 999999; background: rgb(255, 255, 255); padding-bottom: 0px;" @click="withdraw">
|
||||
<view data-v-800ec5da="" class="collectionBorder">
|
||||
<button data-v-800ec5da="" class="renren-btn do false middle">{{ $lang('withdrawBtn') }}</button>
|
||||
<button data-v-800ec5da="" class="renren-btn do false middle">{{ $lang('fenxiao.withdraw_apply.withdrawBtn') }}</button>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
@@ -175,7 +175,7 @@
|
||||
verify() {
|
||||
if (this.withdrawMoney == '' || this.withdrawMoney < 0 || isNaN(parseFloat(this.withdrawMoney))) {
|
||||
this.$util.showToast({
|
||||
title: this.$lang('pleaseEnterWithdrawAmount')
|
||||
title: this.$lang('fenxiao.withdraw_apply.pleaseEnterWithdrawAmount')
|
||||
});
|
||||
return false;
|
||||
}
|
||||
@@ -186,14 +186,14 @@
|
||||
}
|
||||
if (parseFloat(this.withdrawMoney) > 0 && (parseFloat(this.withdrawMoney) > parseFloat(money))) {
|
||||
this.$util.showToast({
|
||||
title: this.$lang('withdrawAmountExceeds')
|
||||
title: this.$lang('fenxiao.withdraw_apply.withdrawAmountExceeds')
|
||||
});
|
||||
return false;
|
||||
}
|
||||
if (parseFloat(this.withdrawMoney) > 0 && (parseFloat(this.withdrawMoney) < parseFloat(this
|
||||
.withdrawConfigInfo.withdraw))) {
|
||||
this.$util.showToast({
|
||||
title: this.$lang('withdrawAmountBelowMin')
|
||||
title: this.$lang('fenxiao.withdraw_apply.withdrawAmountBelowMin')
|
||||
});
|
||||
return false;
|
||||
}
|
||||
@@ -202,7 +202,7 @@
|
||||
withdraw() {
|
||||
if (!this.bankAccountInfo.withdraw_type && !this.isBalance) {
|
||||
this.$util.showToast({
|
||||
title: this.$lang('pleaseAddWithdrawMethod')
|
||||
title: this.$lang('fenxiao.withdraw_apply.pleaseAddWithdrawMethod')
|
||||
});
|
||||
return;
|
||||
}
|
||||
@@ -235,7 +235,7 @@
|
||||
success: res => {
|
||||
if (res.code >= 0) {
|
||||
this.$util.showToast({
|
||||
title: this.$lang('withdrawApplySuccess')
|
||||
title: this.$lang('fenxiao.withdraw_apply.withdrawApplySuccess')
|
||||
});
|
||||
setTimeout(() => {
|
||||
this.$util.redirectTo('/pages_promotion/fenxiao/withdraw_list', {},
|
||||
@@ -270,7 +270,7 @@
|
||||
success: res => {
|
||||
if (res.code >= 0) {
|
||||
this.$util.showToast({
|
||||
title: this.$lang('withdrawApplySuccess')
|
||||
title: this.$lang('fenxiao.withdraw_apply.withdrawApplySuccess')
|
||||
});
|
||||
setTimeout(() => {
|
||||
this.$util.redirectTo('/pages_promotion/fenxiao/withdraw_list', {},
|
||||
|
||||
@@ -8,9 +8,9 @@
|
||||
<view class="detailed-item" v-for="(item, index) in withdrawList" :key="index"
|
||||
@click="toDetail(item.id)">
|
||||
<view class="info">
|
||||
<view class="event">{{ item.transfer_type == 'balance' && $lang('transferTypeBalance') ||
|
||||
item.transfer_type == 'alipay' && $lang('transferTypeAlipay') || item.transfer_type == 'bank' && $lang('transferTypeBank') ||
|
||||
item.transfer_type =='wechatpay'&& $lang('transferTypeWechatpay') }}</view>
|
||||
<view class="event">{{ item.transfer_type == 'balance' && $lang('fenxiao.withdraw_list.transferTypeBalance') ||
|
||||
item.transfer_type == 'alipay' && $lang('fenxiao.withdraw_list.transferTypeAlipay') || item.transfer_type == 'bank' && $lang('fenxiao.withdraw_list.transferTypeBank') ||
|
||||
item.transfer_type =='wechatpay'&& $lang('fenxiao.withdraw_list.transferTypeWechatpay') }}</view>
|
||||
<view>
|
||||
<text class="time">{{ $util.timeStampTurnTime(item.create_time) }}</text>
|
||||
</view>
|
||||
@@ -25,7 +25,7 @@
|
||||
</view>
|
||||
</block>
|
||||
<block v-else>
|
||||
<ns-empty :isIndex="false" :text="$lang('noWithdrawRecords')"></ns-empty>
|
||||
<ns-empty :isIndex="false" :text="$lang('fenxiao.withdraw_list.noWithdrawRecords')"></ns-empty>
|
||||
</block>
|
||||
</view>
|
||||
</mescroll-uni>
|
||||
@@ -65,7 +65,7 @@ export default {
|
||||
setTimeout(() => {
|
||||
if (!this.addonIsExist.fenxiao) {
|
||||
this.$util.showToast({
|
||||
title: this.$lang('merchantNotOpenFenxiao'),
|
||||
title: this.$lang('fenxiao.withdraw_list.merchantNotOpenFenxiao'),
|
||||
mask: true,
|
||||
duration: 2000
|
||||
});
|
||||
@@ -75,7 +75,7 @@ export default {
|
||||
}
|
||||
}, 1000);
|
||||
|
||||
if (this.fenxiaoWords && this.fenxiaoWords.withdraw) this.$langConfig.title(this.fenxiaoWords.withdraw + this.$lang('detailSuffix'));
|
||||
if (this.fenxiaoWords && this.fenxiaoWords.withdraw) this.$langConfig.title(this.fenxiaoWords.withdraw + this.$lang('fenxiao.withdraw_list.detailSuffix'));
|
||||
|
||||
if (!this.storeToken) {
|
||||
this.redirectTologin('/pages_promotion/fenxiao/withdraw_list');
|
||||
|
||||
@@ -7,43 +7,43 @@
|
||||
<!-- 状态0待审核1.待转账2已转账 -1拒绝' -->
|
||||
<view class="item">
|
||||
<view class="line-wrap">
|
||||
<text class="label">{{ $lang('withdrawalDetail.currentStatus') }}</text>
|
||||
<text class="label">{{ $lang('fenxiao.withdrawal_detail.currentStatus') }}</text>
|
||||
<text class="value">{{ detail.status_name }}</text>
|
||||
</view>
|
||||
<view class="line-wrap">
|
||||
<text class="label">{{ $lang('withdrawalDetail.transactionNo') }}</text>
|
||||
<text class="label">{{ $lang('fenxiao.withdrawal_detail.transactionNo') }}</text>
|
||||
<text class="value">{{ detail.withdraw_no }}</text>
|
||||
</view>
|
||||
<view class="line-wrap">
|
||||
<text class="label">{{ $lang('withdrawalDetail.serviceFee') }}</text>
|
||||
<text class="label">{{ $lang('fenxiao.withdrawal_detail.serviceFee') }}</text>
|
||||
<text class="value">¥{{ detail.withdraw_rate_money }}</text>
|
||||
</view>
|
||||
<view class="line-wrap">
|
||||
<text class="label">{{ $lang('withdrawalDetail.applyTime') }}</text>
|
||||
<text class="label">{{ $lang('fenxiao.withdrawal_detail.applyTime') }}</text>
|
||||
<text class="value">{{ $util.timeStampTurnTime(detail.create_time) }}</text>
|
||||
</view>
|
||||
<view class="line-wrap" v-if="detail.status">
|
||||
<text class="label">{{ $lang('withdrawalDetail.auditTime') }}</text>
|
||||
<text class="label">{{ $lang('fenxiao.withdrawal_detail.auditTime') }}</text>
|
||||
<text class="value">{{ $util.timeStampTurnTime(detail.audit_time) }}</text>
|
||||
</view>
|
||||
<view class="line-wrap" v-if="detail.bank_name">
|
||||
<text class="label">{{ $lang('withdrawalDetail.bankName') }}</text>
|
||||
<text class="label">{{ $lang('fenxiao.withdrawal_detail.bankName') }}</text>
|
||||
<text class="value">{{ detail.bank_name }}</text>
|
||||
</view>
|
||||
<view class="line-wrap" v-if="detail.account_number">
|
||||
<text class="label">{{ $lang('withdrawalDetail.receivingAccount') }}</text>
|
||||
<text class="label">{{ $lang('fenxiao.withdrawal_detail.receivingAccount') }}</text>
|
||||
<text class="value">{{ detail.account_number }}</text>
|
||||
</view>
|
||||
<view class="line-wrap" v-if="detail.status == -1 && detail.refuse_reason">
|
||||
<text class="label">{{ $lang('withdrawalDetail.refuseReason') }}</text>
|
||||
<text class="label">{{ $lang('fenxiao.withdrawal_detail.refuseReason') }}</text>
|
||||
<text class="value">{{ detail.refuse_reason }}</text>
|
||||
</view>
|
||||
<view class="line-wrap" v-if="detail.status == 3">
|
||||
<text class="label">{{ $lang('withdrawalDetail.transferTypeName') }}</text>
|
||||
<text class="label">{{ $lang('fenxiao.withdrawal_detail.transferTypeName') }}</text>
|
||||
<text class="value">{{ detail.transfer_name }}</text>
|
||||
</view>
|
||||
<view class="line-wrap" v-if="detail.status == 3">
|
||||
<text class="label">{{ $lang('withdrawalDetail.transferTime') }}</text>
|
||||
<text class="label">{{ $lang('fenxiao.withdrawal_detail.transferTime') }}</text>
|
||||
<text class="value">{{ $util.timeStampTurnTime(detail.payment_time) }}</text>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<!-- 搜索区域 -->
|
||||
<view class="search-wrap uni-flex uni-row" style="margin-bottom: 20rpx;">
|
||||
<view class="flex-item input-wrap">
|
||||
<input class="uni-input" maxlength="50" v-model="keyword" @confirm="search()" :placeholder="$lang('searchPlaceholder')" />
|
||||
<input class="uni-input" maxlength="50" v-model="keyword" @confirm="search()" :placeholder="$lang('merch.detail.searchPlaceholder')" />
|
||||
<text class="iconfont icon-sousuo3" @click.stop="search()"></text>
|
||||
</view>
|
||||
<view class="iconfont" :class="{ 'icon-apps': isList, 'icon-list': !isList }" @click="changeListStyle()"></view>
|
||||
@@ -28,11 +28,11 @@
|
||||
<view class="scroll-desc">{{ merch.desc }}</view>
|
||||
<view class="scroll-hint" v-if="isShowScrollHint">
|
||||
<text class="scroll-icon">↓</text>
|
||||
<text class="scroll-text">{{ $lang('desc.scrollUpToViewMore') }}</text>
|
||||
<text class="scroll-text">{{ $lang('merch.detail.desc.scrollUpToViewMore') }}</text>
|
||||
</view>
|
||||
</view>
|
||||
<view class="expand-tip" v-if="merch.desc && merch.desc.length > 50" @click.stop="toggleDesc">
|
||||
<text class="hint-arrow">{{ isDescExpanded ? $lang('desc.collapse') : $lang('desc.expand') }}</text>
|
||||
<text class="hint-arrow">{{ isDescExpanded ? $lang('merch.detail.desc.collapse') : $lang('merch.detail.desc.expand') }}</text>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
@@ -42,14 +42,14 @@
|
||||
<view class="sort-wrap">
|
||||
<view class="comprehensive-wrap" :class="{ 'color-base-text': orderType === '' }"
|
||||
@click="sortTabClick('')">
|
||||
<text :class="{ 'color-base-text': orderType === '' }">{{ $lang('sort.comprehensive') }}</text>
|
||||
<text :class="{ 'color-base-text': orderType === '' }">{{ $lang('merch.detail.sort.comprehensive') }}</text>
|
||||
</view>
|
||||
|
||||
<view :class="{ 'color-base-text': orderType === 'sale_num' }" @click="sortTabClick('sale_num')">{{ $lang('sort.sales') }}
|
||||
<view :class="{ 'color-base-text': orderType === 'sale_num' }" @click="sortTabClick('sale_num')">{{ $lang('merch.detail.sort.sales') }}
|
||||
</view>
|
||||
|
||||
<view class="price-wrap" @click="sortTabClick('discount_price')">
|
||||
<text :class="{ 'color-base-text': orderType === 'discount_price' }">{{ $lang('sort.price') }}</text>
|
||||
<text :class="{ 'color-base-text': orderType === 'discount_price' }">{{ $lang('merch.detail.sort.price') }}</text>
|
||||
<view class="iconfont-wrap">
|
||||
<view class="iconfont icon-iconangledown-copy asc"
|
||||
:class="{ 'color-base-text': priceOrder === 'asc' && orderType === 'discount_price' }">
|
||||
@@ -61,7 +61,7 @@
|
||||
</view>
|
||||
|
||||
<view :class="{ 'color-base-text': orderType === 'screen' }" class="screen-wrap" @click="showScreen = true">
|
||||
<text @click="showScreen = true">{{ $lang('sort.filter') }}</text>
|
||||
<text @click="showScreen = true">{{ $lang('merch.detail.sort.filter') }}</text>
|
||||
<view @click="showScreen = true" class="iconfont-wrap">
|
||||
<view class="iconfont icon-shaixuan color-tip"></view>
|
||||
</view>
|
||||
@@ -99,7 +99,7 @@
|
||||
parseFloat(showPrice(item)).toFixed(2).split('.')[1] }}</text>
|
||||
</view>
|
||||
<view class="discount-price" v-else>
|
||||
<text class="price price-style large">{{ $lang('goods.consultNow') }}</text>
|
||||
<text class="price price-style large">{{ $lang('merch.detail.goods.consultNow') }}</text>
|
||||
</view>
|
||||
|
||||
|
||||
@@ -117,7 +117,7 @@
|
||||
<text>{{ showMarketPrice(item) }}</text>
|
||||
</view>
|
||||
<view class="block-wrap">
|
||||
<view class="sale color-tip" v-if="item.sale_show">{{ $lang('goods.sold', { num: item.sale_num, unit: item.unit ? item.unit : $lang('goods.defaultUnit') }) }}</view>
|
||||
<view class="sale color-tip" v-if="item.sale_show">{{ $lang('merch.detail.goods.sold', { num: item.sale_num, unit: item.unit ? item.unit : $lang('merch.detail.goods.defaultUnit') }) }}</view>
|
||||
</view>
|
||||
<view class="cart-action-wrap" v-if="config.control && item.is_virtual == 0">
|
||||
<!-- 购物车图标 -->
|
||||
@@ -191,7 +191,7 @@
|
||||
parseFloat(showPrice(item)).toFixed(2).split('.')[1] }}</text>
|
||||
</view>
|
||||
<view class="discount-price" v-else>
|
||||
<text class="price price-style large">{{ $lang('goods.consultNow') }}</text>
|
||||
<text class="price price-style large">{{ $lang('merch.detail.goods.consultNow') }}</text>
|
||||
</view>
|
||||
<view class="member-price-tag"
|
||||
v-if="item.member_price && item.member_price == showPrice(item)">
|
||||
@@ -207,7 +207,7 @@
|
||||
</view>
|
||||
<view class="pro-info" v-if="item.isinformation == 0">
|
||||
<view class="block-wrap">
|
||||
<view class="sale color-tip" v-if="item.sale_show">{{ $lang('goods.sold', { num: item.sale_num, unit: item.unit ? item.unit : $lang('goods.defaultUnit') }) }}</view>
|
||||
<view class="sale color-tip" v-if="item.sale_show">{{ $lang('merch.detail.goods.sold', { num: item.sale_num, unit: item.unit ? item.unit : $lang('merch.detail.goods.defaultUnit') }) }}</view>
|
||||
</view>
|
||||
<view class="cart-action-wrap" v-if="config.control && item.is_virtual == 0">
|
||||
<!-- 购物车图标 -->
|
||||
@@ -254,7 +254,7 @@
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view v-if="goodsList.length == 0 && emptyShow"><ns-empty :text="$lang('goods.noGoods')"></ns-empty></view>
|
||||
<view v-if="goodsList.length == 0 && emptyShow"><ns-empty :text="$lang('merch.detail.goods.noGoods')"></ns-empty></view>
|
||||
</block>
|
||||
</mescroll-uni>
|
||||
|
||||
@@ -262,7 +262,7 @@
|
||||
|
||||
<!-- 筛选弹出框 -->
|
||||
<uni-drawer :visible="showScreen" mode="right" @close="showScreen = false" class="screen-wrap">
|
||||
<view class="title color-tip">{{ $lang('filter.title') }}</view>
|
||||
<view class="title color-tip">{{ $lang('merch.detail.filter.title') }}</view>
|
||||
<scroll-view scroll-y>
|
||||
<!-- 包邮 -->
|
||||
<!-- <view class="item-wrap">
|
||||
@@ -294,10 +294,10 @@
|
||||
|
||||
<!-- 分类筛选项 -->
|
||||
<view class="category-list-wrap">
|
||||
<text class="first">{{ $lang('filter.allCategories') }}</text>
|
||||
<text class="first">{{ $lang('merch.detail.filter.allCategories') }}</text>
|
||||
<view class="class-box">
|
||||
<view @click="selectedCategory('')" class="list-wrap">
|
||||
<text :class="{ selected: !categoryId, 'color-base-text': !categoryId }">{{ $lang('filter.all') }}</text>
|
||||
<text :class="{ selected: !categoryId, 'color-base-text': !categoryId }">{{ $lang('merch.detail.filter.all') }}</text>
|
||||
</view>
|
||||
<view @click="selectedCategory(item.category_id)" v-for="(item, index) in categoryList"
|
||||
:key="index" class="list-wrap">
|
||||
@@ -309,8 +309,8 @@
|
||||
</view>
|
||||
</scroll-view>
|
||||
<view class="footer" :class="{ 'safe-area': isIphoneX }">
|
||||
<button type="default" class="footer-box" @click="resetData">{{ $lang('filter.reset') }}</button>
|
||||
<button type="primary" class="footer-box1" @click="screenData">{{ $lang('filter.confirm') }}</button>
|
||||
<button type="default" class="footer-box" @click="resetData">{{ $lang('merch.detail.filter.reset') }}</button>
|
||||
<button type="primary" class="footer-box1" @click="screenData">{{ $lang('merch.detail.filter.confirm') }}</button>
|
||||
</view>
|
||||
</uni-drawer>
|
||||
<loading-cover ref="loadingCover"></loading-cover>
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
<view class="search-wrap uni-flex uni-row">
|
||||
<view class="flex-item input-wrap">
|
||||
<input class="uni-input" maxlength="50" v-model="keyword" @confirm="search()"
|
||||
:placeholder="$lang('searchPlaceholder')" />
|
||||
:placeholder="$lang('merch.list.searchPlaceholder')" />
|
||||
<text class="iconfont icon-sousuo3" @click.stop="search()"></text>
|
||||
</view>
|
||||
<view class="iconfont" :class="{ 'icon-apps': isList, 'icon-list': !isList }"
|
||||
@@ -16,15 +16,15 @@
|
||||
<view class="sort-wrap">
|
||||
<view class="comprehensive-wrap" :class="{ 'color-base-text': orderType === '' }"
|
||||
@click="sortTabClick('')">
|
||||
<text :class="{ 'color-base-text': orderType === '' }">{{ $lang('sort.comprehensive') }}</text>
|
||||
<text :class="{ 'color-base-text': orderType === '' }">{{ $lang('merch.list.sort.comprehensive') }}</text>
|
||||
</view>
|
||||
|
||||
<view :class="{ 'color-base-text': orderType === 'sale_num' }" @click="sortTabClick('sale_num')">{{ $lang('sort.sales') }}
|
||||
<view :class="{ 'color-base-text': orderType === 'sale_num' }" @click="sortTabClick('sale_num')">{{ $lang('merch.list.sort.sales') }}
|
||||
</view>
|
||||
|
||||
<view class="price-wrap" @click="sortTabClick('discount_price')">
|
||||
<text
|
||||
:class="{ 'color-base-text': orderType === 'discount_price' }">{{ $lang('sort.price') }}</text>
|
||||
:class="{ 'color-base-text': orderType === 'discount_price' }">{{ $lang('merch.list.sort.price') }}</text>
|
||||
<view class="iconfont-wrap">
|
||||
<view class="iconfont icon-iconangledown-copy asc"
|
||||
:class="{ 'color-base-text': priceOrder === 'asc' && orderType === 'discount_price' }">
|
||||
@@ -36,7 +36,7 @@
|
||||
</view>
|
||||
|
||||
<view :class="{ 'color-base-text': orderType === 'screen' }" class="screen-wrap" @click="sortTabClick('screen')">
|
||||
<text @click="sortTabClick('screen')">{{ $lang('sort.filter') }}</text>
|
||||
<text @click="sortTabClick('screen')">{{ $lang('merch.list.sort.filter') }}</text>
|
||||
<view @click="sortTabClick('screen')" class="iconfont-wrap">
|
||||
<view class="iconfont icon-shaixuan color-tip"></view>
|
||||
</view>
|
||||
@@ -74,7 +74,7 @@
|
||||
parseFloat(showPrice(item)).toFixed(2).split('.')[1] }}</text>
|
||||
</view>
|
||||
<view class="discount-price" v-else>
|
||||
<text class="price price-style large">{{ $lang('goods.consultNow') }}</text>
|
||||
<text class="price price-style large">{{ $lang('merch.list.goods.consultNow') }}</text>
|
||||
</view>
|
||||
</view>
|
||||
<view class="pro-info" v-if="item.isinformation == 0">
|
||||
@@ -83,7 +83,7 @@
|
||||
<text>{{ showMarketPrice(item) }}</text>
|
||||
</view>
|
||||
<view class="block-wrap">
|
||||
<view class="sale color-tip" v-if="item.sale_show">{{ $lang('goods.sold', { num: item.sale_num, unit: item.unit || $lang('goods.defaultUnit') }) }}</view>
|
||||
<view class="sale color-tip" v-if="item.sale_show">{{ $lang('merch.list.goods.sold', { num: item.sale_num, unit: item.unit || $lang('merch.list.goods.defaultUnit') }) }}</view>
|
||||
</view>
|
||||
<view class="cart-action-wrap" v-if="config.control && item.is_virtual == 0">
|
||||
<!-- 购物车图标 -->
|
||||
@@ -157,7 +157,7 @@
|
||||
parseFloat(showPrice(item)).toFixed(2).split('.')[1] }}</text>
|
||||
</view>
|
||||
<view class="discount-price" v-else>
|
||||
<text class="price price-style large">{{ $lang('goods.consultNow') }}</text>
|
||||
<text class="price price-style large">{{ $lang('merch.list.goods.consultNow') }}</text>
|
||||
</view>
|
||||
<view class="member-price-tag"
|
||||
v-if="item.member_price && item.member_price == showPrice(item)">
|
||||
@@ -173,7 +173,7 @@
|
||||
</view>
|
||||
<view class="pro-info" v-if="item.isinformation == 0">
|
||||
<view class="block-wrap">
|
||||
<view class="sale color-tip" v-if="item.sale_show">{{ $lang('goods.sold', { num: item.sale_num, unit: item.unit || $lang('goods.defaultUnit') }) }}</view>
|
||||
<view class="sale color-tip" v-if="item.sale_show">{{ $lang('merch.list.goods.sold', { num: item.sale_num, unit: item.unit || $lang('merch.list.goods.defaultUnit') }) }}</view>
|
||||
</view>
|
||||
<view class="cart-action-wrap" v-if="config.control && item.is_virtual == 0">
|
||||
<!-- 购物车图标 -->
|
||||
@@ -220,7 +220,7 @@
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view v-if="goodsList.length == 0 && emptyShow"><ns-empty :text="$lang('goods.noGoods')"></ns-empty></view>
|
||||
<view v-if="goodsList.length == 0 && emptyShow"><ns-empty :text="$lang('merch.list.goods.noGoods')"></ns-empty></view>
|
||||
</block>
|
||||
</mescroll-uni>
|
||||
|
||||
@@ -228,14 +228,14 @@
|
||||
|
||||
<!-- 筛选弹出框 -->
|
||||
<uni-drawer :visible="showScreen" mode="right" @close="showScreen = false" class="screen-wrap">
|
||||
<view class="title color-tip">{{ $lang('filter.title') }}</view>
|
||||
<view class="title color-tip">{{ $lang('merch.list.filter.title') }}</view>
|
||||
<scroll-view scroll-y>
|
||||
<!-- 分类筛选项 -->
|
||||
<view class="category-list-wrap">
|
||||
<text class="first">{{ $lang('filter.allCategories') }}</text>
|
||||
<text class="first">{{ $lang('merch.list.filter.allCategories') }}</text>
|
||||
<view class="class-box">
|
||||
<view @click="selectedCategory('')" class="list-wrap">
|
||||
<text :class="{ selected: !categoryId, 'color-base-text': !categoryId }">{{ $lang('filter.all') }}</text>
|
||||
<text :class="{ selected: !categoryId, 'color-base-text': !categoryId }">{{ $lang('merch.list.filter.all') }}</text>
|
||||
</view>
|
||||
<view @click="selectedCategory(item.category_id)" v-for="(item, index) in categoryList"
|
||||
:key="index" class="list-wrap">
|
||||
@@ -247,8 +247,8 @@
|
||||
</view>
|
||||
</scroll-view>
|
||||
<view class="footer" :class="{ 'safe-area': isIphoneX }">
|
||||
<button type="default" class="footer-box" @click="resetData">{{ $lang('filter.reset') }}</button>
|
||||
<button type="primary" class="footer-box1" @click="screenData">{{ $lang('filter.confirm') }}</button>
|
||||
<button type="default" class="footer-box" @click="resetData">{{ $lang('merch.list.filter.reset') }}</button>
|
||||
<button type="primary" class="footer-box1" @click="screenData">{{ $lang('merch.list.filter.confirm') }}</button>
|
||||
</view>
|
||||
</uni-drawer>
|
||||
<loading-cover ref="loadingCover"></loading-cover>
|
||||
|
||||
@@ -53,56 +53,56 @@ export default {
|
||||
begin_time:'',//团购开始时间
|
||||
end_time:''//团购结束时间
|
||||
},
|
||||
groundingArray: [this.$lang('grounding.offShelf'), this.$lang('grounding.onShelf')],
|
||||
groundingArray: [this.$lang('merch.edit.grounding.offShelf'), this.$lang('merch.edit.grounding.onShelf')],
|
||||
|
||||
pickuptypeArray: [this.$lang('pickupType.sameDay'), this.$lang('pickupType.nextDay'), this.$lang('pickupType.dayAfter')],//, '自定义'
|
||||
pickuptypeArray: [this.$lang('merch.edit.pickupType.sameDay'), this.$lang('merch.edit.pickupType.nextDay'), this.$lang('merch.edit.pickupType.dayAfter')],//, '自定义'
|
||||
|
||||
|
||||
currCategory: 0, // 当前所设置的商品分类
|
||||
virtualDeliverArray: [{
|
||||
name: this.$lang('virtualDeliver.auto'),
|
||||
value: 'auto_deliver',
|
||||
},
|
||||
{
|
||||
name: this.$lang('virtualDeliver.manual'),
|
||||
value: 'artificial_deliver',
|
||||
},
|
||||
{
|
||||
name: this.$lang('virtualDeliver.verify'),
|
||||
value: 'verify',
|
||||
}
|
||||
],
|
||||
virtualDeliverValue: {
|
||||
'auto_deliver': this.$lang('virtualDeliver.auto'),
|
||||
'artificial_deliver': this.$lang('virtualDeliver.manual'),
|
||||
'verify': this.$lang('virtualDeliver.verify')
|
||||
virtualDeliverArray: [{
|
||||
name: this.$lang('merch.edit.virtualDeliver.auto'),
|
||||
value: 'auto_deliver',
|
||||
},
|
||||
{
|
||||
name: this.$lang('merch.edit.virtualDeliver.manual'),
|
||||
value: 'artificial_deliver',
|
||||
},
|
||||
{
|
||||
name: this.$lang('merch.edit.virtualDeliver.verify'),
|
||||
value: 'verify',
|
||||
}
|
||||
],
|
||||
virtualDeliverValue: {
|
||||
'auto_deliver': this.$lang('merch.edit.virtualDeliver.auto'),
|
||||
'artificial_deliver': this.$lang('merch.edit.virtualDeliver.manual'),
|
||||
'verify': this.$lang('merch.edit.virtualDeliver.verify')
|
||||
},
|
||||
virtualReceiveArray: [{
|
||||
name: this.$lang('virtualReceive.auto'),
|
||||
value: 'auto_receive',
|
||||
},
|
||||
{
|
||||
name: this.$lang('virtualReceive.buyerConfirm'),
|
||||
value: 'artificial_receive',
|
||||
},
|
||||
],
|
||||
virtualReceiveValue: {
|
||||
'auto_receive': this.$lang('virtualReceive.auto'),
|
||||
'artificial_receive': this.$lang('virtualReceive.buyerConfirm'),
|
||||
virtualReceiveArray: [{
|
||||
name: this.$lang('merch.edit.virtualReceive.auto'),
|
||||
value: 'auto_receive',
|
||||
},
|
||||
{
|
||||
name: this.$lang('merch.edit.virtualReceive.buyerConfirm'),
|
||||
value: 'artificial_receive',
|
||||
},
|
||||
],
|
||||
virtualReceiveValue: {
|
||||
'auto_receive': this.$lang('merch.edit.virtualReceive.auto'),
|
||||
'artificial_receive': this.$lang('merch.edit.virtualReceive.buyerConfirm'),
|
||||
},
|
||||
validityTypeArray: [this.$lang('validityType.permanent'), this.$lang('validityType.daysAfterPurchase'), this.$lang('validityType.specifiedDate')],
|
||||
validityTypeArray: [this.$lang('merch.edit.validityType.permanent'), this.$lang('merch.edit.validityType.daysAfterPurchase'), this.$lang('merch.edit.validityType.specifiedDate')],
|
||||
virtualIndate: 0,
|
||||
minDate: '',
|
||||
carmiLength: this.$lang('carmi.add'),
|
||||
limitLength: [ //限购
|
||||
{
|
||||
name: this.$lang('limitType.single'),
|
||||
value: '1'
|
||||
},
|
||||
{
|
||||
name: this.$lang('limitType.longTerm'),
|
||||
value: '2'
|
||||
}
|
||||
carmiLength: this.$lang('merch.edit.carmi.add'),
|
||||
limitLength: [ //限购
|
||||
{
|
||||
name: this.$lang('merch.edit.limitType.single'),
|
||||
value: '1'
|
||||
},
|
||||
{
|
||||
name: this.$lang('merch.edit.limitType.longTerm'),
|
||||
value: '2'
|
||||
}
|
||||
],
|
||||
current: 0,
|
||||
goodsFormArray: [],
|
||||
@@ -122,12 +122,12 @@ export default {
|
||||
// this.getCategoryTreeFn();
|
||||
if (this.goodsData.id) {
|
||||
this.isAWait = true;
|
||||
this.$langConfig.title(this.$lang('title'));
|
||||
this.$langConfig.title(this.$lang('merch.edit.title'));
|
||||
await this.editGetGoodsInfo();
|
||||
} else {
|
||||
|
||||
this.isAWait = false;
|
||||
this.$langConfig.title(this.$lang('addTitle'));
|
||||
this.$langConfig.title(this.$lang('merch.edit.addTitle'));
|
||||
}
|
||||
|
||||
let date = new Date();
|
||||
@@ -163,7 +163,7 @@ export default {
|
||||
if(res.result.detail){
|
||||
this.goodsData = res.result.detail
|
||||
this.$util.showToast({
|
||||
title: this.$lang('message.goodsNotExist'),
|
||||
title: this.$lang('merch.edit.message.goodsNotExist'),
|
||||
});
|
||||
setTimeout(() => {
|
||||
this.$util.redirectTo('/pages_goods/list', {}, 'redirectTo');
|
||||
@@ -489,7 +489,7 @@ export default {
|
||||
addShopCategory() {
|
||||
if (this.shopCategoryNumber == 10) {
|
||||
this.$util.showToast({
|
||||
title: this.$lang('message.maxCategory')
|
||||
title: this.$lang('merch.edit.message.maxCategory')
|
||||
});
|
||||
return;
|
||||
}
|
||||
@@ -526,7 +526,7 @@ export default {
|
||||
|
||||
this.goodsData.carmichael = uni.getStorageSync('editGoodsCarmichael') ? JSON.parse(uni.getStorageSync('editGoodsCarmichael')) : [];
|
||||
if (this.goodsData.carmichael.length > 0) {
|
||||
this.carmiLength = this.$lang('carmi.addWithCount', { count: this.goodsData.carmichael.length })
|
||||
this.carmiLength = this.$lang('merch.edit.carmi.addWithCount', { count: this.goodsData.carmichael.length })
|
||||
}
|
||||
}
|
||||
|
||||
@@ -564,21 +564,21 @@ export default {
|
||||
|
||||
if (this.goodsData.goodsname.length == 0) {
|
||||
this.$util.showToast({
|
||||
title: this.$lang('message.pleaseEnterGoodsName')
|
||||
title: this.$lang('merch.edit.message.pleaseEnterGoodsName')
|
||||
});
|
||||
return false;
|
||||
}
|
||||
|
||||
if (this.goodsData.subtitle.length > 100) {
|
||||
this.$util.showToast({
|
||||
title: this.$lang('message.subtitleMaxLength', { max: 100 })
|
||||
title: this.$lang('merch.edit.message.subtitleMaxLength', { max: 100 })
|
||||
});
|
||||
return false;
|
||||
}
|
||||
|
||||
if (this.goodsData.goods_image.length == 0) {
|
||||
this.$util.showToast({
|
||||
title: this.$lang('message.pleaseUploadGoodsImage')
|
||||
title: this.$lang('merch.edit.message.pleaseUploadGoodsImage')
|
||||
});
|
||||
return false;
|
||||
}
|
||||
@@ -628,20 +628,20 @@ export default {
|
||||
if (this.goodsData.price == 0) {
|
||||
|
||||
this.$util.showToast({
|
||||
title: this.$lang('message.pleaseEnterSalePrice')
|
||||
title: this.$lang('merch.edit.message.pleaseEnterSalePrice')
|
||||
});
|
||||
return false;
|
||||
}
|
||||
if (isNaN(this.goodsData.price) || !this.$util.data().regExp.digit.test(this.goodsData.price)) {
|
||||
this.$util.showToast({
|
||||
title: this.$lang('message.salePriceFormatError')
|
||||
title: this.$lang('merch.edit.message.salePriceFormatError')
|
||||
});
|
||||
return false;
|
||||
}
|
||||
|
||||
if (this.goodsData.productprice.length > 0 && (isNaN(this.goodsData.productprice) || !this.$util.data().regExp.digit.test(this.goodsData.productprice))) {
|
||||
this.$util.showToast({
|
||||
title: this.$lang('message.originalPriceFormatError')
|
||||
title: this.$lang('merch.edit.message.originalPriceFormatError')
|
||||
});
|
||||
return false;
|
||||
}
|
||||
@@ -651,26 +651,26 @@ export default {
|
||||
// 总库存
|
||||
if (this.goodsData.total == 0) {
|
||||
this.$util.showToast({
|
||||
title: this.$lang('message.pleaseEnterStock')
|
||||
title: this.$lang('merch.edit.message.pleaseEnterStock')
|
||||
});
|
||||
return false;
|
||||
}
|
||||
|
||||
if (isNaN(this.goodsData.total) || !this.$util.data().regExp.number.test(this.goodsData.total)) {
|
||||
this.$util.showToast({
|
||||
title: this.$lang('message.stockFormatError')
|
||||
title: this.$lang('merch.edit.message.stockFormatError')
|
||||
});
|
||||
return false;
|
||||
}
|
||||
if (isNaN(this.goodsData.goods_start_count) || !this.$util.data().regExp.number.test(this.goodsData.goods_start_count)) {
|
||||
this.$util.showToast({
|
||||
title: this.$lang('message.minOrderFormatError')
|
||||
title: this.$lang('merch.edit.message.minOrderFormatError')
|
||||
});
|
||||
return false;
|
||||
}
|
||||
if (this.goodsData.goods_start_count < 0) {
|
||||
this.$util.showToast({
|
||||
title: this.$lang('message.minOrderNotLessThanZero')
|
||||
title: this.$lang('merch.edit.message.minOrderNotLessThanZero')
|
||||
});
|
||||
return false;
|
||||
}
|
||||
@@ -901,7 +901,7 @@ export default {
|
||||
getGoodsForm() {
|
||||
getOrderFormList().then(res=>{
|
||||
if (res.data) {
|
||||
let goodsForm = [this.$lang('placeholder.selectGoodsForm')];
|
||||
let goodsForm = [this.$lang('merch.edit.placeholder.selectGoodsForm')];
|
||||
res.data.forEach((item, index) => {
|
||||
goodsForm.push(item.form_name);
|
||||
if (this.goodsData.form_id && this.goodsData.form_id == item.id) this.goodsData.goods_form_index = index + 1;
|
||||
@@ -922,7 +922,7 @@ export default {
|
||||
getSupplyList() {
|
||||
getSupplyList().then(res=>{
|
||||
if (res.data) {
|
||||
let supplyForm = [this.$lang('placeholder.selectSupplier')];
|
||||
let supplyForm = [this.$lang('merch.edit.placeholder.selectSupplier')];
|
||||
res.data.forEach((item, index) => {
|
||||
supplyForm.push(item.title);
|
||||
if (this.goodsData.supplier_id && this.goodsData.supplier_id == item.supplier_id) this.goodsData.supply_index = index + 1;
|
||||
|
||||
@@ -39,7 +39,7 @@ export default {
|
||||
fontWeight: false,
|
||||
padding: 0,
|
||||
cartEvent: "detail",
|
||||
text: this.$lang('buyText'),
|
||||
text: this.$lang('merch.list.buyText'),
|
||||
textColor: "#FFFFFF",
|
||||
theme: "default",
|
||||
aroundRadius: 25,
|
||||
@@ -76,8 +76,8 @@ export default {
|
||||
this.getMerch()
|
||||
}else{
|
||||
uni.showModal({
|
||||
title: this.$lang('modal.title'),
|
||||
content: this.$lang('modal.merchantNotExist'),
|
||||
title: this.$lang('merch.list.modal.title'),
|
||||
content: this.$lang('merch.list.modal.merchantNotExist'),
|
||||
showCancel:false,
|
||||
success(e){
|
||||
uni.navigateBack({})
|
||||
@@ -120,8 +120,8 @@ export default {
|
||||
* 转发分享
|
||||
*/
|
||||
onShareAppMessage(res) {
|
||||
var title = this.$lang('shareTitle', { count: this.count, keyword: this.keyword + this.category_title + this.coupon_name });
|
||||
let route = this.$util.getCurrentShareRoute(this.memberInfo ? this.memberInfo.member_id : 0);
|
||||
var title = this.$lang('merch.list.shareTitle', { count: this.count, keyword: this.keyword + this.category_title + this.coupon_name });
|
||||
let route = this.$util.getCurrentShareRoute(this.memberInfo ? this.memberInfo.member_id : 0);
|
||||
var path = route.path;
|
||||
return {
|
||||
title: title,
|
||||
@@ -134,8 +134,8 @@ export default {
|
||||
},
|
||||
// 分享到微信朋友圈
|
||||
onShareTimeline() {
|
||||
var title = this.$lang('shareTitle', { count: this.count, keyword: this.keyword + this.category_title + this.coupon_name });
|
||||
let route = this.$util.getCurrentShareRoute(this.memberInfo ? this.memberInfo.member_id : 0);
|
||||
var title = this.$lang('merch.list.shareTitle', { count: this.count, keyword: this.keyword + this.category_title + this.coupon_name });
|
||||
let route = this.$util.getCurrentShareRoute(this.memberInfo ? this.memberInfo.member_id : 0);
|
||||
var query = route.query;
|
||||
return {
|
||||
title: title,
|
||||
@@ -144,18 +144,18 @@ export default {
|
||||
};
|
||||
},
|
||||
methods: {
|
||||
getMerch(){
|
||||
this.$api.sendRequest({
|
||||
url: '/merch/api/merch/merchinfo',
|
||||
data: {
|
||||
merch_id: this.merch_id
|
||||
},
|
||||
success: res => {
|
||||
if (res.code >= 0 && res.data) {
|
||||
this.merch = res.data;
|
||||
}
|
||||
}
|
||||
});
|
||||
getMerch(){
|
||||
this.$api.sendRequest({
|
||||
url: '/merch/api/merch/merchinfo',
|
||||
data: {
|
||||
merch_id: this.merch_id
|
||||
},
|
||||
success: res => {
|
||||
if (res.code >= 0 && res.data) {
|
||||
this.merch = res.data;
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
/**
|
||||
* 获取优惠券数据
|
||||
@@ -336,26 +336,26 @@ export default {
|
||||
// }
|
||||
if (!Number(this.maxPrice) && this.maxPrice) {
|
||||
this.$util.showToast({
|
||||
title: this.$lang('priceFilter.pleaseEnterMaxPrice')
|
||||
title: this.$lang('merch.list.priceFilter.pleaseEnterMaxPrice')
|
||||
});
|
||||
return;
|
||||
}
|
||||
if (Number(this.minPrice) < 0 || Number(this.maxPrice) < 0) {
|
||||
this.$util.showToast({
|
||||
title: this.$lang('priceFilter.priceCannotBeLessThanZero')
|
||||
title: this.$lang('merch.list.priceFilter.priceCannotBeLessThanZero')
|
||||
});
|
||||
return;
|
||||
}
|
||||
if (this.minPrice != '' && Number(this.minPrice) > Number(this.maxPrice) && this.maxPrice) {
|
||||
|
||||
this.$util.showToast({
|
||||
title: this.$lang('priceFilter.minCannotExceedMax')
|
||||
title: this.$lang('merch.list.priceFilter.minCannotExceedMax')
|
||||
});
|
||||
return;
|
||||
}
|
||||
if (this.maxPrice != '' && Number(this.maxPrice) < Number(this.minPrice)) {
|
||||
this.$util.showToast({
|
||||
title: this.$lang('priceFilter.maxCannotBeLessThanMin')
|
||||
title: this.$lang('merch.list.priceFilter.maxCannotBeLessThanMin')
|
||||
});
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
<view class="flex-item input-wrap" @tap.stop="search()">
|
||||
<input class="uni-input" maxlength="50" v-model="keyword" confirm-type="search" @confirm="search()"
|
||||
@tap.stop="search()"
|
||||
:placeholder="$lang('searchPlaceholder')" />
|
||||
:placeholder="$lang('point.goods_list.searchPlaceholder')" />
|
||||
<text class="iconfont icon-sousuo3" @tap.stop="search()"></text>
|
||||
</view>
|
||||
</view>
|
||||
@@ -14,10 +14,10 @@
|
||||
<!-- 排序 -->
|
||||
<view class="sort-wrap">
|
||||
<view class="comprehensive-wrap" :class="{ 'color-base-text': order === '' }" @click="sortTabClick('')">
|
||||
<text :class="{ 'color-base-text': order === '' }">{{ $lang('comprehensive') }}</text>
|
||||
<text :class="{ 'color-base-text': order === '' }">{{ $lang('point.goods_list.comprehensive') }}</text>
|
||||
</view>
|
||||
<view class="price-wrap" @click="sortTabClick('point')">
|
||||
<text :class="{ 'color-base-text': order === 'point' }">{{ $lang('points') }}</text>
|
||||
<text :class="{ 'color-base-text': order === 'point' }">{{ $lang('point.goods_list.points') }}</text>
|
||||
<view class="iconfont-wrap">
|
||||
<view class="iconfont icon-shangsanjiao-copy"
|
||||
:class="{ 'color-base-text': priceOrder === 'asc' && order === 'point' }"></view>
|
||||
@@ -26,7 +26,7 @@
|
||||
</view>
|
||||
</view>
|
||||
<view class="price-wrap" @click="sortTabClick('create_time')">
|
||||
<text :class="{ 'color-base-text': order === 'create_time' }">{{ $lang('newArrival') }}</text>
|
||||
<text :class="{ 'color-base-text': order === 'create_time' }">{{ $lang('point.goods_list.newArrival') }}</text>
|
||||
<view class="iconfont-wrap">
|
||||
<view class="iconfont icon-shangsanjiao-copy"
|
||||
:class="{ 'color-base-text': priceOrder === 'asc' && order === 'create_time' }"></view>
|
||||
@@ -35,7 +35,7 @@
|
||||
</view>
|
||||
</view>
|
||||
<view :class="{ 'color-base-text': order === 'screen' }" class="screen-wrap">
|
||||
<text @click="sortTabClick('screen')">{{ $lang('filter') }}</text>
|
||||
<text @click="sortTabClick('screen')">{{ $lang('point.goods_list.filter') }}</text>
|
||||
<view @click="sortTabClick('screen')" class="iconfont-wrap">
|
||||
<view class="iconfont icon-shaixuan color-tip"></view>
|
||||
</view>
|
||||
@@ -59,7 +59,7 @@
|
||||
<view class="lineheight-clear">
|
||||
<view class="discount-price">
|
||||
<text class="unit ">{{ item.point }}</text>
|
||||
<text class="unit font-size-tag">{{ $lang('points') }}</text>
|
||||
<text class="unit font-size-tag">{{ $lang('point.goods_list.points') }}</text>
|
||||
<block v-if="item.price > 0 && item.pay_type > 0">
|
||||
<text class="unit font-size-tag">+</text>
|
||||
<text class="unit font-size-tag">{{ $lang('common.currencySymbol')
|
||||
@@ -72,7 +72,7 @@
|
||||
</view>
|
||||
</view>
|
||||
<view class="pro-info" v-if="item.stock_show">
|
||||
<view class="font-size-activity-tag color-tip">{{ $lang('stock') }}{{
|
||||
<view class="font-size-activity-tag color-tip">{{ $lang('point.goods_list.stock') }}{{
|
||||
item.stock }}</view>
|
||||
<view class="sale font-size-activity-tag color-tip" @click="toDetail(item)">
|
||||
<!-- <button type="primary" size="mini">立即兑换</button> -->
|
||||
@@ -83,7 +83,7 @@
|
||||
</view>
|
||||
<view class="empty" v-if="goodsList.length == 0">
|
||||
<ns-empty :isIndex="false"
|
||||
:text="$lang('noGoods')"></ns-empty>
|
||||
:text="$lang('point.goods_list.noGoods')"></ns-empty>
|
||||
</view>
|
||||
</view>
|
||||
</block>
|
||||
@@ -91,25 +91,25 @@
|
||||
|
||||
<!-- 筛选弹出框 -->
|
||||
<uni-drawer :visible="showScreen" mode="right" @close="showScreen = false" class="screen-wrap">
|
||||
<view class="title color-tip">{{ $lang('filter') }}</view>
|
||||
<view class="title color-tip">{{ $lang('point.goods_list.filter') }}</view>
|
||||
<scroll-view scroll-y>
|
||||
<!-- 价格筛选项 -->
|
||||
<view class="item-wrap">
|
||||
<view class="label"><text>{{ $lang('pointRange') }}</text></view>
|
||||
<view class="label"><text>{{ $lang('point.goods_list.pointRange') }}</text></view>
|
||||
<view class="price-wrap">
|
||||
<input class="uni-input" type="digit" v-model="minPoint"
|
||||
:placeholder="$lang('minPlaceholder')" />
|
||||
:placeholder="$lang('point.goods_list.minPlaceholder')" />
|
||||
<view class="h-line"></view>
|
||||
<input class="uni-input" type="digit" v-model="maxPoint"
|
||||
:placeholder="$lang('maxPlaceholder')" />
|
||||
:placeholder="$lang('point.goods_list.maxPlaceholder')" />
|
||||
</view>
|
||||
</view>
|
||||
<!-- 分类筛选项 -->
|
||||
<view class="category-list-wrap">
|
||||
<text class="first">{{ $lang('allCategories') }}</text>
|
||||
<text class="first">{{ $lang('point.goods_list.allCategories') }}</text>
|
||||
<view class="class-box">
|
||||
<view @click="selectedCategory('')" class="list-wrap"><text
|
||||
:class="{ selected: !categoryId, 'color-base-text': !categoryId }">{{ $lang('all') }}</text></view>
|
||||
:class="{ selected: !categoryId, 'color-base-text': !categoryId }">{{ $lang('point.goods_list.all') }}</text></view>
|
||||
<view @click="selectedCategory(item.category_id)" v-for="(item, index) in categoryList"
|
||||
:key="index" class="list-wrap">
|
||||
<text
|
||||
@@ -120,8 +120,8 @@
|
||||
</view>
|
||||
</scroll-view>
|
||||
<view class="footer" :class="{ 'safe-area': isIphoneX }">
|
||||
<button type="default" class="footer-box" @click="resetData">{{ $lang('reset') }}</button>
|
||||
<button type="primary" class="footer-box1" @click="screenData">{{ $lang('confirm') }}</button>
|
||||
<button type="default" class="footer-box" @click="resetData">{{ $lang('point.goods_list.reset') }}</button>
|
||||
<button type="primary" class="footer-box1" @click="screenData">{{ $lang('point.goods_list.confirm') }}</button>
|
||||
</view>
|
||||
</uni-drawer>
|
||||
|
||||
@@ -283,26 +283,26 @@ export default {
|
||||
// }
|
||||
if (!Number(this.maxPoint) && this.maxPoint) {
|
||||
this.$util.showToast({
|
||||
title: this.$lang('pleaseEnterMaxPrice')
|
||||
title: this.$lang('point.goods_list.pleaseEnterMaxPrice')
|
||||
});
|
||||
return;
|
||||
}
|
||||
if (Number(this.minPoint) < 0 || Number(this.maxPoint) < 0) {
|
||||
this.$util.showToast({
|
||||
title: this.$lang('priceCannotBeLessThanZero')
|
||||
title: this.$lang('point.goods_list.priceCannotBeLessThanZero')
|
||||
});
|
||||
return;
|
||||
}
|
||||
if (this.minPoint != '' && Number(this.minPoint) > Number(this.maxPoint) && this.maxPoint) {
|
||||
|
||||
this.$util.showToast({
|
||||
title: this.$lang('minCannotBeGreaterThanMax')
|
||||
title: this.$lang('point.goods_list.minCannotBeGreaterThanMax')
|
||||
});
|
||||
return;
|
||||
}
|
||||
if (this.maxPoint != '' && Number(this.maxPoint) < Number(this.minPoint)) {
|
||||
this.$util.showToast({
|
||||
title: this.$lang('maxCannotBeLessThanMin')
|
||||
title: this.$lang('point.goods_list.maxCannotBeLessThanMin')
|
||||
});
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
</view>
|
||||
<view class="search" @click="$util.redirectTo('/pages_tool/goods/search')">
|
||||
<text class="iconfont icon-sousuo3"></text>
|
||||
<text class="tips">{{ $lang('searchPlaceholder') }}</text>
|
||||
<text class="tips">{{ $lang('point.list.searchPlaceholder') }}</text>
|
||||
</view>
|
||||
<view class="sign"
|
||||
:style="{ width: menuButtonBounding.height + 'px', height: menuButtonBounding.height + 'px' }"
|
||||
@@ -28,17 +28,17 @@
|
||||
<view class="account-content">
|
||||
<view class="left">
|
||||
<image :src="$util.img('public/uniapp/point/point-icon.png')" mode="widthFix"></image>
|
||||
<view>{{ $lang('myPoints') }}</view>
|
||||
<view>{{ $lang('point.list.myPoints') }}</view>
|
||||
</view>
|
||||
<view class="right">
|
||||
<text class="point price-font">{{ point }}</text>
|
||||
<text class="text">{{ $lang('points') }}</text>
|
||||
<text class="text">{{ $lang('point.list.points') }}</text>
|
||||
<!-- <text class="iconfont icon-right"></text> -->
|
||||
</view>
|
||||
</view>
|
||||
<view class="remark">
|
||||
<view class="label">{{ $lang('reminder') }}</view>
|
||||
<view class="text">{{ $lang('remarkText') }}</view>
|
||||
<view class="label">{{ $lang('point.list.reminder') }}</view>
|
||||
<view class="text">{{ $lang('point.list.remarkText') }}</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
@@ -81,9 +81,9 @@
|
||||
<view class="recharge-list-wrap" @click="redirect('/pages_tool/recharge/list')"
|
||||
v-if="rechargeList.length">
|
||||
<view class="item-wrap" v-for="(item, index) in rechargeList.slice(0, 4)" :key="index">
|
||||
<view class="recharge">{{ $lang('rechargeAmount', { price: parseFloat(item.buy_price) }) }}</view>
|
||||
<view class="point">{{ $lang('earnPoints', { point: item.point }) }}</view>
|
||||
<view class="btn">{{ $lang('goRecharge') }}</view>
|
||||
<view class="recharge">{{ $lang('point.list.rechargeAmount', { price: parseFloat(item.buy_price) }) }}</view>
|
||||
<view class="point">{{ $lang('point.list.earnPoints', { point: item.point }) }}</view>
|
||||
<view class="btn">{{ $lang('point.list.goRecharge') }}</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
@@ -91,7 +91,7 @@
|
||||
<view class="point-exchange-wrap exchange-coupon" v-if="couponList.length > 0">
|
||||
<view class="card-category-title">
|
||||
<text class="before-line"></text>
|
||||
<text>{{ $lang('exchangeCoupon') }}</text>
|
||||
<text>{{ $lang('point.list.exchangeCoupon') }}</text>
|
||||
<text class="after-line"></text>
|
||||
</view>
|
||||
|
||||
@@ -115,24 +115,24 @@
|
||||
</block>
|
||||
<block v-if="couponItem.coupon_type == 'discount'">
|
||||
<block v-if="couponItem.coupon_type == 'discount'">
|
||||
{{ parseFloat(couponItem.discount) }}<text>{{ $lang('discountSuffix') }}</text>
|
||||
{{ parseFloat(couponItem.discount) }}<text>{{ $lang('point.list.discountSuffix') }}</text>
|
||||
</block>
|
||||
</block>
|
||||
</view>
|
||||
<view class="coupon-info">
|
||||
<view class="coupon_condition font-size-activity-tag">
|
||||
{{ couponItem.at_least == 0 ? $lang('noThresholdCoupon') : $lang('minSpendAvailable', { amount: parseFloat(couponItem.at_least).toFixed(0) }) }}
|
||||
{{ couponItem.at_least == 0 ? $lang('point.list.noThresholdCoupon') : $lang('point.list.minSpendAvailable', { amount: parseFloat(couponItem.at_least).toFixed(0) }) }}
|
||||
</view>
|
||||
<view class="coupon_type font-size-activity-tag"
|
||||
v-if="couponItem.goods_type == 1">{{ $lang('allStoreCoupon') }}</view>
|
||||
v-if="couponItem.goods_type == 1">{{ $lang('point.list.allStoreCoupon') }}</view>
|
||||
<view class="coupon_type font-size-activity-tag"
|
||||
v-else-if="couponItem.goods_type == 2 || couponItem.goods_type == 3">
|
||||
{{ $lang('designatedCoupon') }}</view>
|
||||
{{ $lang('point.list.designatedCoupon') }}</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="coupon_right">
|
||||
<view class="coupon_num font-size-tag">{{ couponItem.point }}{{ $lang('points') }}</view>
|
||||
<view class="coupon_btn">{{ $lang('exchange') }}</view>
|
||||
<view class="coupon_num font-size-tag">{{ couponItem.point }}{{ $lang('point.list.points') }}</view>
|
||||
<view class="coupon_btn">{{ $lang('point.list.exchange') }}</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
@@ -144,7 +144,7 @@
|
||||
<view class="point-exchange-wrap exchange-hongbao" v-if="hongbaoList.length > 0">
|
||||
<view class="card-category-title">
|
||||
<text class="before-line"></text>
|
||||
<text>{{ $lang('exchangeHongbao') }}</text>
|
||||
<text>{{ $lang('point.list.exchangeHongbao') }}</text>
|
||||
<text class="after-line"></text>
|
||||
</view>
|
||||
|
||||
@@ -165,8 +165,8 @@
|
||||
<!-- <view class="coupon_condition font-size-activity-tag">{{ hongbaoItem.name }}</view> -->
|
||||
</view>
|
||||
<view class="coupon_right">
|
||||
<view class="coupon_num font-size-tag">{{ hongbaoItem.point }}{{ $lang('points') }}</view>
|
||||
<view class="coupon_btn">{{ $lang('exchange') }}</view>
|
||||
<view class="coupon_num font-size-tag">{{ hongbaoItem.point }}{{ $lang('point.list.points') }}</view>
|
||||
<view class="coupon_btn">{{ $lang('point.list.exchange') }}</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
@@ -177,7 +177,7 @@
|
||||
<view class="point-exchange-wrap" v-if="goodsList.length > 0">
|
||||
<view class="card-category-title">
|
||||
<text class="before-line"></text>
|
||||
<text>{{ $lang('exchangeGift') }}</text>
|
||||
<text>{{ $lang('point.list.exchangeGift') }}</text>
|
||||
<text class="after-line"></text>
|
||||
</view>
|
||||
|
||||
@@ -195,7 +195,7 @@
|
||||
<view class="discount-price">
|
||||
<view>
|
||||
<text class="unit price-font point">{{ item.point }}</text>
|
||||
<text class="unit font-size-tag ">{{ $lang('points') }}</text>
|
||||
<text class="unit font-size-tag ">{{ $lang('point.list.points') }}</text>
|
||||
</view>
|
||||
<block v-if="item.price > 0 && item.pay_type > 0">
|
||||
<text class="unit font-size-tag">+</text>
|
||||
@@ -203,17 +203,17 @@
|
||||
<text class="font-size-tag">{{
|
||||
parseFloat(item.price).toFixed(2).split(".")[0] }}</text>
|
||||
<text class="unit font-size-tag">.{{
|
||||
parseFloat(item.price).toFixed(2).split(".")[1] }}{{ $lang('yuan') }}</text>
|
||||
parseFloat(item.price).toFixed(2).split(".")[1] }}{{ $lang('point.list.yuan') }}</text>
|
||||
</view>
|
||||
</block>
|
||||
</view>
|
||||
<view class="btn" @click="toDetail(item)">{{ $lang('exchange') }}</view>
|
||||
<view class="btn" @click="toDetail(item)">{{ $lang('point.list.exchange') }}</view>
|
||||
</view>
|
||||
<view class="pro-info" v-if="item.stock_show || item.sale_show">
|
||||
<view class="font-size-activity-tag color-tip" v-if="item.stock_show">
|
||||
{{ $lang('stock') }}{{ isNaN(parseInt(item.stock)) ? 0 : parseInt(item.stock) }}</view>
|
||||
{{ $lang('point.list.stock') }}{{ isNaN(parseInt(item.stock)) ? 0 : parseInt(item.stock) }}</view>
|
||||
<view class="font-size-activity-tag color-tip sale" v-if="item.sale_show">
|
||||
{{ $lang('exchanged') }}{{ isNaN(parseInt(item.sale_num)) ? 0 : parseInt(item.sale_num) }}
|
||||
{{ $lang('point.list.exchanged') }}{{ isNaN(parseInt(item.sale_num)) ? 0 : parseInt(item.sale_num) }}
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
@@ -230,20 +230,20 @@
|
||||
<uni-popup ref="pointPopup" type="bottom">
|
||||
<view class="tips-layer">
|
||||
<view class="head" @click="closePointPopup()">
|
||||
<view class="title">{{ $lang('pointDescription') }}</view>
|
||||
<view class="title">{{ $lang('point.list.pointDescription') }}</view>
|
||||
<text class="iconfont icon-close"></text>
|
||||
</view>
|
||||
<view class="body">
|
||||
<view class="detail margin-bottom">
|
||||
<view class="tip">{{ $lang('pointAcquisition') }}</view>
|
||||
<view class="font-size-base">{{ $lang('acquisitionItem1') }}</view>
|
||||
<view class="font-size-base">{{ $lang('acquisitionItem2') }}</view>
|
||||
<view class="tip">{{ $lang('pointUsage') }}</view>
|
||||
<view class="font-size-base">{{ $lang('usageItem1') }}</view>
|
||||
<view class="font-size-base">{{ $lang('usageItem2') }}</view>
|
||||
<view class="font-size-base">{{ $lang('usageItem3') }}</view>
|
||||
<view class="tip">{{ $lang('pointQuery') }}</view>
|
||||
<view class="font-size-base">{{ $lang('queryItem1') }}</view>
|
||||
<view class="tip">{{ $lang('point.list.pointAcquisition') }}</view>
|
||||
<view class="font-size-base">{{ $lang('point.list.acquisitionItem1') }}</view>
|
||||
<view class="font-size-base">{{ $lang('point.list.acquisitionItem2') }}</view>
|
||||
<view class="tip">{{ $lang('point.list.pointUsage') }}</view>
|
||||
<view class="font-size-base">{{ $lang('point.list.usageItem1') }}</view>
|
||||
<view class="font-size-base">{{ $lang('point.list.usageItem2') }}</view>
|
||||
<view class="font-size-base">{{ $lang('point.list.usageItem3') }}</view>
|
||||
<view class="tip">{{ $lang('point.list.pointQuery') }}</view>
|
||||
<view class="font-size-base">{{ $lang('point.list.queryItem1') }}</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
@@ -301,7 +301,7 @@ export default {
|
||||
setTimeout(() => {
|
||||
if (!this.addonIsExist.pointexchange) {
|
||||
this.$util.showToast({
|
||||
title: this.$lang('merchantNotEnabled'),
|
||||
title: this.$lang('point.list.merchantNotEnabled'),
|
||||
mask: true,
|
||||
duration: 2000
|
||||
});
|
||||
@@ -580,7 +580,7 @@ export default {
|
||||
}
|
||||
} else {
|
||||
this.$util.showToast({
|
||||
title: this.$lang('noActivity')
|
||||
title: this.$lang('point.list.noActivity')
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
:id="statusItem.id" :data-current="statusIndex" @click="ontabtap">
|
||||
<text class="uni-tab-item-title"
|
||||
:class="statusItem.status == orderStatus ? 'uni-tab-item-title-active color-base-text' : ''">
|
||||
{{ $lang('point.order_list.' + statusItem.nameKey) }}
|
||||
{{ $lang(statusItem.i18nKey) }}
|
||||
</text>
|
||||
</view>
|
||||
</view>
|
||||
@@ -104,9 +104,9 @@ export default {
|
||||
outTradeNo: '',
|
||||
payMoney: 0,
|
||||
statusList: [
|
||||
{ status: 'all', id: 'all', nameKey: 'statusAll' },
|
||||
{ status: 0, id: 'pay', nameKey: 'statusPendingPayment' },
|
||||
{ status: 1, id: 'complete', nameKey: 'statusCompleted' },
|
||||
{ status: 'all', id: 'all', i18nKey: 'point.order_list.statusAll' },
|
||||
{ status: 0, id: 'pay', i18nKey: 'point.order_list.statusPendingPayment' },
|
||||
{ status: 1, id: 'complete', i18nKey: 'point.order_list.statusCompleted' },
|
||||
],
|
||||
orderStatus: 'all',
|
||||
};
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
}">
|
||||
<view class="nav-wrap">
|
||||
<text class="iconfont icon-back_light" @click="back"></text>
|
||||
<view class="navbar-title">{{ $lang('payment.title') }}</view>
|
||||
<view class="navbar-title">{{ $lang('point.payment.title') }}</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="payment-navbar-block" :style="{ height: menuButtonBounding.bottom + 'px' }"></view>
|
||||
@@ -36,19 +36,19 @@
|
||||
:class="{ 'not-delivery-type': orderPaymentData.delivery.express_type.length <= 1 }"
|
||||
v-if="orderPaymentData.delivery.delivery_type != 'store'">
|
||||
<block v-if="storeInfo.storeList.length > 1 && orderPaymentData.delivery.delivery_type == 'local'">
|
||||
<view class="local-delivery-store" v-if="Object.keys(storeInfo.currStore).length"
|
||||
@click="$refs.deliveryPopup.open()">
|
||||
<view class="info">
|
||||
{{ $lang('payment.localDelivery.providedBy') }}<text class="store-name">{{ storeInfo.currStore.store_name }}</text>{{ $lang('payment.localDelivery.deliveredBy') }}
|
||||
</view>
|
||||
<view class="cell-more">
|
||||
<text>{{ $lang('payment.localDelivery.switchStore') }}</text>
|
||||
<text class="iconfont icon-right"></text>
|
||||
</view>
|
||||
<view class="local-delivery-store" v-if="Object.keys(storeInfo.currStore).length"
|
||||
@click="$refs.deliveryPopup.open()">
|
||||
<view class="info">
|
||||
{{ $lang('point.payment.localDelivery.providedBy') }}<text class="store-name">{{ storeInfo.currStore.store_name }}</text>{{ $lang('point.payment.localDelivery.deliveredBy') }}
|
||||
</view>
|
||||
<view class="cell-more">
|
||||
<text>{{ $lang('point.payment.localDelivery.switchStore') }}</text>
|
||||
<text class="iconfont icon-right"></text>
|
||||
</view>
|
||||
</view>
|
||||
<view v-else class="local-delivery-store">
|
||||
<view class="info">
|
||||
<text class="store-name">{{ $lang('payment.localDelivery.noStoreNearby') }}</text>
|
||||
<text class="store-name">{{ $lang('point.payment.localDelivery.noStoreNearby') }}</text>
|
||||
</view>
|
||||
</view>
|
||||
</block>
|
||||
@@ -69,7 +69,7 @@
|
||||
</view>
|
||||
</view>
|
||||
<view class="empty-wrap" v-else @click="selectAddress">
|
||||
<view class="info">{{ $lang('payment.address.setAddress') }}</view>
|
||||
<view class="info">{{ $lang('point.payment.address.setAddress') }}</view>
|
||||
<view class="cell-more">
|
||||
<view class="iconfont icon-right"></view>
|
||||
</view>
|
||||
@@ -80,11 +80,11 @@
|
||||
<view class="local-box"
|
||||
v-if="orderPaymentData.config.local.is_use && orderPaymentData.delivery.local.info && orderPaymentData.delivery.local.info.time_is_open == 1">
|
||||
<view class="pick-block" @click="localtime">
|
||||
<view class="font-size-base">{{ $lang('payment.address.deliveryTime') }}</view>
|
||||
<view class="font-size-base">{{ $lang('point.payment.address.deliveryTime') }}</view>
|
||||
<view class="time-picker">
|
||||
<text :class="{ 'color-tip': !orderCreateData.buyer_ask_delivery_title }">{{
|
||||
orderCreateData.buyer_ask_delivery_title ?
|
||||
orderCreateData.buyer_ask_delivery_title : $lang('payment.address.selectDeliveryTime') }}</text>
|
||||
orderCreateData.buyer_ask_delivery_title : $lang('point.payment.address.selectDeliveryTime') }}</text>
|
||||
<text class="iconfont icon-right cell-more"></text>
|
||||
</view>
|
||||
</view>
|
||||
@@ -106,8 +106,8 @@
|
||||
</view>
|
||||
<view class="store-detail">
|
||||
<view v-if="storeInfo.currStore.open_date">
|
||||
{{ $lang('payment.store.businessHours') }}{{ storeInfo.currStore.open_date }}</view>
|
||||
<view>{{ $lang('payment.store.address') }}{{ storeInfo.currStore.full_address }}
|
||||
{{ $lang('point.payment.store.businessHours') }}{{ storeInfo.currStore.open_date }}</view>
|
||||
<view>{{ $lang('point.payment.store.address') }}{{ storeInfo.currStore.full_address }}
|
||||
{{ storeInfo.currStore.address }}
|
||||
</view>
|
||||
</view>
|
||||
@@ -116,28 +116,28 @@
|
||||
</view>
|
||||
<view class="mobile-wrap store-mobile">
|
||||
<view class="form-group">
|
||||
<text class="text">{{ $lang('payment.store.name') }}</text>
|
||||
<text class="text">{{ $lang('point.payment.store.name') }}</text>
|
||||
<input type="text" placeholder-class="color-tip placeholder" class="input"
|
||||
v-model="member_address.name" disabled />
|
||||
</view>
|
||||
</view>
|
||||
<view class="mobile-wrap store-mobile">
|
||||
<view class="form-group">
|
||||
<text class="text">{{ $lang('payment.store.reservedMobile') }}</text>
|
||||
<input type="number" maxlength="11" :placeholder="$lang('payment.store.mobilePlaceholder')"
|
||||
<text class="text">{{ $lang('point.payment.store.reservedMobile') }}</text>
|
||||
<input type="number" maxlength="11" :placeholder="$lang('point.payment.store.mobilePlaceholder')"
|
||||
placeholder-class="color-tip placeholder" class="input"
|
||||
v-model="member_address.mobile" />
|
||||
</view>
|
||||
</view>
|
||||
<view class="store-time">
|
||||
<view class="left">{{ $lang('payment.store.pickupTime') }}</view>
|
||||
<view class="left">{{ $lang('point.payment.store.pickupTime') }}</view>
|
||||
<view class="right" @click="storetime">
|
||||
{{ orderCreateData.buyer_ask_delivery_title }}
|
||||
<text class="iconfont icon-right"></text>
|
||||
</view>
|
||||
</view>
|
||||
</block>
|
||||
<view v-else class="empty">{{ $lang('payment.store.noPickupStore') }}</view>
|
||||
<view v-else class="empty">{{ $lang('point.payment.store.noPickupStore') }}</view>
|
||||
|
||||
<image class="address-line" :src="$util.img('public/uniapp/order/address-line.png')" show-menu-by-longpress></image>
|
||||
</view>
|
||||
@@ -147,12 +147,12 @@
|
||||
<view class="mobile-wrap" v-if="orderPaymentData.is_virtual == 1 && orderCreateData.member_address">
|
||||
<view class="tips color-base-text">
|
||||
<text class="iconfont icon-gantanhao"></text>
|
||||
{{ $lang('payment.virtual.tips') }}
|
||||
{{ $lang('point.payment.virtual.tips') }}
|
||||
</view>
|
||||
<view class="form-group">
|
||||
<text class="iconfont icon-dianhua2"></text>
|
||||
<text class="text">{{ $lang('payment.virtual.mobile') }}</text>
|
||||
<input type="number" maxlength="11" :placeholder="$lang('payment.virtual.mobilePlaceholder')"
|
||||
<text class="text">{{ $lang('point.payment.virtual.mobile') }}</text>
|
||||
<input type="number" maxlength="11" :placeholder="$lang('point.payment.virtual.mobilePlaceholder')"
|
||||
placeholder-class="color-tip placeholder" class="input"
|
||||
v-model="orderCreateData.member_address.mobile" />
|
||||
</view>
|
||||
@@ -185,10 +185,10 @@
|
||||
</block>
|
||||
<view class="goods-info">
|
||||
<view class="goods-name">{{ orderPaymentData.exchange_info.name }}</view>
|
||||
<view class="goods-sub-section">
|
||||
<view v-if="orderPaymentData.exchange_info.pay_type == 1" class="color-base-text">
|
||||
<text class="goods-price">{{ orderPaymentData.exchange_info.point }}</text>
|
||||
<text class="unit">{{ $lang('payment.orderMoney.pointsSuffix') }}</text>
|
||||
<view class="goods-sub-section">
|
||||
<view v-if="orderPaymentData.exchange_info.pay_type == 1" class="color-base-text">
|
||||
<text class="goods-price">{{ orderPaymentData.exchange_info.point }}</text>
|
||||
<text class="unit">{{ $lang('point.payment.orderMoney.pointsSuffix') }}</text>
|
||||
<template v-if="orderPaymentData.exchange_info.price != '0.00'">
|
||||
<text class="unit">+{{ $lang('common.currencySymbol') }}</text>
|
||||
<text class="goods-price">{{ orderPaymentData.exchange_info.price }}</text>
|
||||
@@ -204,8 +204,8 @@
|
||||
</view>
|
||||
<view class="site-footer">
|
||||
<view class="order-cell">
|
||||
<text class="tit">{{ $lang('payment.orderMoney.buyerMessage') }}</text>
|
||||
<view class="box"><input type="text" :placeholder="$lang('payment.orderMoney.buyerMessagePlaceholder')" placeholder-class="color-tip"
|
||||
<text class="tit">{{ $lang('point.payment.orderMoney.buyerMessage') }}</text>
|
||||
<view class="box"><input type="text" :placeholder="$lang('point.payment.orderMoney.buyerMessagePlaceholder')" placeholder-class="color-tip"
|
||||
v-model="orderCreateData.buyer_message" /></view>
|
||||
</view>
|
||||
</view>
|
||||
@@ -214,15 +214,15 @@
|
||||
<!-- 金额 -->
|
||||
<view class="order-money">
|
||||
<view class="order-cell">
|
||||
<text class="tit">{{ $lang('payment.orderMoney.pointsRequired') }}</text>
|
||||
<text class="tit">{{ $lang('point.payment.orderMoney.pointsRequired') }}</text>
|
||||
<view class="box">
|
||||
<text class="money">{{ orderPaymentData.point }}</text>
|
||||
<text class="unit">{{ $lang('payment.orderMoney.pointsSuffix') }}</text>
|
||||
<text class="unit">{{ $lang('point.payment.orderMoney.pointsSuffix') }}</text>
|
||||
</view>
|
||||
</view>
|
||||
<view class="order-cell"
|
||||
v-if="orderPaymentData.exchange_info.type == 1 && orderPaymentData.delivery_money > 0">
|
||||
<text class="tit">{{ $lang('payment.orderMoney.shippingFee') }}</text>
|
||||
<text class="tit">{{ $lang('point.payment.orderMoney.shippingFee') }}</text>
|
||||
<view class="box">
|
||||
<text class="unit">{{ $lang('common.currencySymbol') }}</text>
|
||||
<text class="money">{{ orderPaymentData.delivery_money | moneyFormat }}</text>
|
||||
@@ -237,10 +237,10 @@
|
||||
</view>
|
||||
<view class="order-submit" :class="{ 'bottom-safe-area': isIphoneX }">
|
||||
<view class="order-settlement-info">
|
||||
<text class="font-size-base color-tip margin-right">{{ $lang('payment.settlement.totalItems', { count: orderPaymentData.goods_num }) }}</text>
|
||||
<text class="font-size-base">{{ $lang('payment.settlement.total') }}</text>
|
||||
<text class="font-size-base color-tip margin-right">{{ $lang('point.payment.settlement.totalItems', { count: orderPaymentData.goods_num }) }}</text>
|
||||
<text class="font-size-base">{{ $lang('point.payment.settlement.total') }}</text>
|
||||
<text class="color-base-text money">{{ orderPaymentData.point }}</text>
|
||||
<text class="color-base-text unit">{{ $lang('payment.settlement.pointsSuffix') }}</text>
|
||||
<text class="color-base-text unit">{{ $lang('point.payment.settlement.pointsSuffix') }}</text>
|
||||
<template v-if="orderPaymentData.exchange_info.type == 1 && orderPaymentData.order_money > 0">
|
||||
<text class="color-base-text unit">+{{ $lang('common.currencySymbol') }}</text>
|
||||
<text class="color-base-text money">{{ orderPaymentData.order_money | moneyFormat }}</text>
|
||||
@@ -248,13 +248,13 @@
|
||||
</view>
|
||||
<view class="submit-btn">
|
||||
<button v-if="createBtn()" type="primary" class="mini" size="mini"
|
||||
@click="openChoosePayment()">{{ $lang('payment.settlement.submitOrder') }}</button>
|
||||
@click="openChoosePayment()">{{ $lang('point.payment.settlement.submitOrder') }}</button>
|
||||
<button v-else class="no-submit mini" size="mini">
|
||||
<block
|
||||
v-if="orderPaymentData.delivery && orderPaymentData.delivery.delivery_type == 'local' && orderPaymentData.delivery && orderPaymentData.delivery.error && orderPaymentData.delivery.start_money > orderPaymentData.price">
|
||||
{{ $lang('payment.settlement.shortByForMinimum', { amount: orderPaymentData.delivery.start_money - orderPaymentData.price | moneyFormat }) }}
|
||||
{{ $lang('point.payment.settlement.shortByForMinimum', { amount: orderPaymentData.delivery.start_money - orderPaymentData.price | moneyFormat }) }}
|
||||
</block>
|
||||
<block v-else>{{ $lang('payment.settlement.submitOrder') }}</block>
|
||||
<block v-else>{{ $lang('point.payment.settlement.submitOrder') }}</block>
|
||||
</button>
|
||||
</view>
|
||||
</view>
|
||||
@@ -264,7 +264,7 @@
|
||||
<uni-popup ref="deliveryPopup" type="bottom">
|
||||
<view class="delivery-popup popup">
|
||||
<view class="popup-header">
|
||||
<text class="tit">{{ $lang('payment.storePopup.title') }}</text>
|
||||
<text class="tit">{{ $lang('point.payment.storePopup.title') }}</text>
|
||||
<text class="iconfont icon-close" @click="closePopup('deliveryPopup')"></text>
|
||||
</view>
|
||||
<view class="popup-body store-popup" :class="{ 'safe-area': isIphoneX }">
|
||||
@@ -281,19 +281,19 @@
|
||||
<view
|
||||
:class="item.store_id == orderPaymentData.delivery.store_id ? 'color-base-text' : ''"
|
||||
class="font-size-goods-tag">
|
||||
{{ $lang('payment.storePopup.businessHours') }}{{ item.open_date }}
|
||||
{{ $lang('point.payment.storePopup.businessHours') }}{{ item.open_date }}
|
||||
</view>
|
||||
<view
|
||||
:class="item.store_id == orderPaymentData.delivery.store_id ? 'color-base-text' : ''"
|
||||
class="font-size-goods-tag">
|
||||
{{ $lang('payment.storePopup.address') }}{{ item.full_address }}{{ item.address }}
|
||||
{{ $lang('point.payment.storePopup.address') }}{{ item.full_address }}{{ item.address }}
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="icon" v-if="item.store_id == orderPaymentData.delivery.store_id"><text
|
||||
class="iconfont icon-yuan_checked color-base-text"></text></view>
|
||||
</view>
|
||||
<view v-if="!storeInfo.storeList" class="empty">{{ $lang('payment.storePopup.noStoreNearby') }}</view>
|
||||
<view v-if="!storeInfo.storeList" class="empty">{{ $lang('point.payment.storePopup.noStoreNearby') }}</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
@@ -92,7 +92,7 @@ export default {
|
||||
uni.removeStorageSync("pay_flag");
|
||||
} else {
|
||||
this.$util.showToast({
|
||||
title: this.$lang('payment.toast.orderDataNotFound')
|
||||
title: this.$lang('point.payment.toast.orderDataNotFound')
|
||||
});
|
||||
setTimeout(() => {
|
||||
this.$util.redirectTo(this.$util.INDEX_PAGE_URL);
|
||||
@@ -119,7 +119,7 @@ export default {
|
||||
if (this.$refs.loadingCover) this.$refs.loadingCover.hide();
|
||||
} else {
|
||||
this.$util.showToast({
|
||||
title: this.$lang('payment.toast.orderDataNotFound')
|
||||
title: this.$lang('point.payment.toast.orderDataNotFound')
|
||||
});
|
||||
setTimeout(() => {
|
||||
this.$util.redirectTo(this.$util.INDEX_PAGE_URL);
|
||||
@@ -280,9 +280,9 @@ export default {
|
||||
this.isSub = false;
|
||||
if (res.data.error_code == 10 || res.data.error_code == 12) {
|
||||
uni.showModal({
|
||||
title: this.$lang('payment.modal.orderNotCreated'),
|
||||
title: this.$lang('point.payment.modal.orderNotCreated'),
|
||||
content: res.message,
|
||||
confirmText: this.$lang('payment.modal.goToSet'),
|
||||
confirmText: this.$lang('point.payment.modal.goToSet'),
|
||||
success: res => {
|
||||
if (res.confirm) {
|
||||
this.selectAddress();
|
||||
@@ -309,13 +309,13 @@ export default {
|
||||
if (this.orderPaymentData.is_virtual == 1) {
|
||||
if (!this.orderCreateData.member_address.mobile.length) {
|
||||
this.$util.showToast({
|
||||
title: this.$lang('payment.toast.pleaseEnterMobile')
|
||||
title: this.$lang('point.payment.toast.pleaseEnterMobile')
|
||||
});
|
||||
return false;
|
||||
}
|
||||
if (!this.$util.verifyMobile(this.orderCreateData.member_address.mobile)) {
|
||||
this.$util.showToast({
|
||||
title: this.$lang('payment.toast.pleaseEnterCorrectMobile')
|
||||
title: this.$lang('point.payment.toast.pleaseEnterCorrectMobile')
|
||||
});
|
||||
return false;
|
||||
}
|
||||
@@ -324,7 +324,7 @@ export default {
|
||||
if (this.orderPaymentData.is_virtual == 0) {
|
||||
if (!this.orderCreateData.delivery || !this.orderCreateData.delivery.delivery_type) {
|
||||
this.$util.showToast({
|
||||
title: this.$lang('payment.toast.noDeliveryMethod')
|
||||
title: this.$lang('point.payment.toast.noDeliveryMethod')
|
||||
});
|
||||
return false;
|
||||
}
|
||||
@@ -332,7 +332,7 @@ export default {
|
||||
if (this.orderCreateData.delivery.delivery_type != 'store') {
|
||||
if (!this.orderCreateData.member_address) {
|
||||
this.$util.showToast({
|
||||
title: this.$lang('payment.toast.pleaseSelectAddress')
|
||||
title: this.$lang('point.payment.toast.pleaseSelectAddress')
|
||||
});
|
||||
return false;
|
||||
}
|
||||
@@ -341,26 +341,26 @@ export default {
|
||||
if (this.orderCreateData.delivery.delivery_type == 'store') {
|
||||
if (!this.orderCreateData.delivery.store_id) {
|
||||
this.$util.showToast({
|
||||
title: this.$lang('payment.toast.noPickupStore')
|
||||
title: this.$lang('point.payment.toast.noPickupStore')
|
||||
});
|
||||
return false;
|
||||
}
|
||||
if (!this.member_address.mobile) {
|
||||
this.$util.showToast({
|
||||
title: this.$lang('payment.toast.pleaseEnterReservedMobile')
|
||||
title: this.$lang('point.payment.toast.pleaseEnterReservedMobile')
|
||||
});
|
||||
return false;
|
||||
}
|
||||
if (!this.$util.verifyMobile(this.member_address.mobile)) {
|
||||
this.$util.showToast({
|
||||
title: this.$lang('payment.toast.pleaseEnterCorrectReservedMobile')
|
||||
title: this.$lang('point.payment.toast.pleaseEnterCorrectReservedMobile')
|
||||
});
|
||||
return false;
|
||||
}
|
||||
|
||||
if (!this.orderCreateData.delivery.buyer_ask_delivery_time.start_date || !this.orderCreateData.delivery.buyer_ask_delivery_time.end_date) {
|
||||
this.$util.showToast({
|
||||
title: this.$lang('payment.toast.pleaseSelectPickupTime')
|
||||
title: this.$lang('point.payment.toast.pleaseSelectPickupTime')
|
||||
});
|
||||
return false;
|
||||
}
|
||||
@@ -369,13 +369,13 @@ export default {
|
||||
if (this.orderCreateData.delivery.delivery_type == 'local') {
|
||||
if (!this.orderCreateData.delivery.store_id) {
|
||||
this.$util.showToast({
|
||||
title: this.$lang('payment.toast.noDeliveryStore')
|
||||
title: this.$lang('point.payment.toast.noDeliveryStore')
|
||||
});
|
||||
return false;
|
||||
}
|
||||
if (this.orderPaymentData.config.local.is_use && this.orderPaymentData.delivery.local.info && this.orderPaymentData.delivery.local.info.time_is_open == 1 && (!this.orderCreateData.delivery.buyer_ask_delivery_time.start_date || !this.orderCreateData.delivery.buyer_ask_delivery_time.end_date)) {
|
||||
this.$util.showToast({
|
||||
title: this.$lang('payment.toast.pleaseSelectDeliveryTime')
|
||||
title: this.$lang('point.payment.toast.pleaseSelectDeliveryTime')
|
||||
});
|
||||
return false;
|
||||
}
|
||||
@@ -526,7 +526,7 @@ export default {
|
||||
start_date:data.data.start_date,
|
||||
end_date:data.data.end_date
|
||||
};
|
||||
if (data.data.title == this.$lang('payment.time.today') || data.data.title == this.$lang('payment.time.tomorrow')) {
|
||||
if (data.data.title == this.$lang('point.payment.time.today') || data.data.title == this.$lang('point.payment.time.tomorrow')) {
|
||||
this.orderCreateData.buyer_ask_delivery_title = data.data.title + '(' + data.data.time + ')'
|
||||
} else {
|
||||
this.orderCreateData.buyer_ask_delivery_title = data.data.month + '(' + data.data.time + ')'
|
||||
|
||||
@@ -3,10 +3,10 @@
|
||||
<view class="image-wrap">
|
||||
<image :src="$util.img('public/uniapp/pay/pay_success.png')" class="result-image" mode="widthFix" show-menu-by-longpress></image>
|
||||
</view>
|
||||
<view class="msg">{{ $lang('exchangeSuccess') }}</view>
|
||||
<view class="msg">{{ $lang('point.result.exchangeSuccess') }}</view>
|
||||
<view class="action">
|
||||
<view class="btn color-base-border color-base-text" @click="toOrderList()">{{ $lang('see') }}</view>
|
||||
<view class="btn go-home color-base-bg" @click="toIndex">{{ $lang('goHome') }}</view>
|
||||
<view class="btn color-base-border color-base-text" @click="toOrderList()">{{ $lang('point.result.see') }}</view>
|
||||
<view class="btn go-home color-base-bg" @click="toIndex">{{ $lang('point.result.goHome') }}</view>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
@@ -299,7 +299,7 @@
|
||||
:focus="true" />
|
||||
<view class="expand-editor-footer">
|
||||
<button class="expand-cancel-btn" @click="closeExpandEditor">{{ $lang('ai-chat.index.cancel') }}</button>
|
||||
<button class="expand-send-btn" @click="sendFromExpandEditor" :disabled="!expandInputText.trim()">{{ $lang('send') }}</button>
|
||||
<button class="expand-send-btn" @click="sendFromExpandEditor" :disabled="!expandInputText.trim()">{{ $lang('ai-chat.index.send') }}</button>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
@@ -1125,11 +1125,11 @@ _handleStreamError(msg) {
|
||||
|
||||
generateAIResponse(userMessage) {
|
||||
const responses = {
|
||||
'你好': this.$lang('autoReplyGreeting'),
|
||||
'价格': this.$lang('autoReplyPrice'),
|
||||
'发货': this.$lang('autoReplyShipping'),
|
||||
'退货': this.$lang('autoReplyReturn'),
|
||||
'客服': this.$lang('autoReplyService')
|
||||
'你好': this.$lang('ai-chat.index.autoReplyGreeting'),
|
||||
'价格': this.$lang('ai-chat.index.autoReplyPrice'),
|
||||
'发货': this.$lang('ai-chat.index.autoReplyShipping'),
|
||||
'退货': this.$lang('ai-chat.index.autoReplyReturn'),
|
||||
'客服': this.$lang('ai-chat.index.autoReplyService')
|
||||
};
|
||||
for (let key in responses) {
|
||||
if (userMessage.includes(key)) {
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
<view class="avatar-selector-mask" @click="close"></view>
|
||||
<view class="avatar-selector-panel">
|
||||
<view class="avatar-selector-header">
|
||||
<text>{{ $lang('avatarSelectorTitle') }}</text>
|
||||
<text>{{ $lang('ai-chat.index.avatarSelectorTitle') }}</text>
|
||||
<button class="close-btn" @click="close">
|
||||
<text class="iconfont icon-close"></text>
|
||||
</button>
|
||||
@@ -15,10 +15,10 @@
|
||||
<view class="avatar-selector-actions">
|
||||
<button class="avatar-select-action" @click="chooseAvatarFromAlbum">
|
||||
<text class="iconfont icon-album"></text>
|
||||
<text>{{ $lang('chooseFromAlbum') }}</text>
|
||||
<text>{{ $lang('ai-chat.index.chooseFromAlbum') }}</text>
|
||||
</button>
|
||||
<button class="avatar-select-action cancel" @click="close">
|
||||
<text>{{ $lang('cancel') }}</text>
|
||||
<text>{{ $lang('ai-chat.index.cancel') }}</text>
|
||||
</button>
|
||||
</view>
|
||||
</view>
|
||||
@@ -80,7 +80,7 @@ export default {
|
||||
reader.readAsDataURL(file)
|
||||
this.$emit('avatar-change', tempFilePath)
|
||||
this.close()
|
||||
uni.showToast({ title: this.$lang('avatarChangeSuccess'), icon: 'success', duration: 1500 })
|
||||
uni.showToast({ title: this.$lang('ai-chat.index.avatarChangeSuccess'), icon: 'success', duration: 1500 })
|
||||
} else {
|
||||
this.close()
|
||||
}
|
||||
@@ -99,11 +99,11 @@ export default {
|
||||
uni.setStorageSync('user_avatar', tempFilePath)
|
||||
this.$emit('avatar-change', tempFilePath)
|
||||
this.close()
|
||||
uni.showToast({ title: this.$lang('avatarChangeSuccess'), icon: 'success', duration: 1500 })
|
||||
uni.showToast({ title: this.$lang('ai-chat.index.avatarChangeSuccess'), icon: 'success', duration: 1500 })
|
||||
},
|
||||
fail: (error) => {
|
||||
if (error.errMsg && error.errMsg.includes('deny')) {
|
||||
uni.showToast({ title: this.$lang('enableAlbumPermission'), icon: 'none', duration: 2000 })
|
||||
uni.showToast({ title: this.$lang('ai-chat.index.enableAlbumPermission'), icon: 'none', duration: 2000 })
|
||||
}
|
||||
this.close()
|
||||
}
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
<view class="emoji-mask" @click="hideEmojiPanel"></view>
|
||||
<view class="emoji-panel">
|
||||
<view class="emoji-header">
|
||||
<text>{{ $lang('emojiTitle') }}</text>
|
||||
<text>{{ $lang('ai-chat.index.emojiTitle') }}</text>
|
||||
<button class="close-btn" @click="hideEmojiPanel">
|
||||
<text>×</text>
|
||||
</button>
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
<view class="nickname-editor-mask" @click="close"></view>
|
||||
<view class="nickname-editor-panel">
|
||||
<view class="nickname-editor-header">
|
||||
<text>{{ $lang('editNickname') }}</text>
|
||||
<text>{{ $lang('ai-chat.index.editNickname') }}</text>
|
||||
<button class="close-btn" @click="close">
|
||||
<text class="iconfont icon-close"></text>
|
||||
</button>
|
||||
@@ -13,21 +13,21 @@
|
||||
<input
|
||||
v-model="tempNickname"
|
||||
class="nickname-input"
|
||||
:placeholder="$lang('newNicknamePlaceholder')"
|
||||
:placeholder="$lang('ai-chat.index.newNicknamePlaceholder')"
|
||||
:maxlength="12"
|
||||
type="text" />
|
||||
</view>
|
||||
<view class="nickname-tip">{{ $lang('nicknameTip') }}</view>
|
||||
<view class="nickname-tip">{{ $lang('ai-chat.index.nicknameTip') }}</view>
|
||||
<view class="nickname-editor-actions">
|
||||
<button class="nickname-action-btn cancel" @click="close">
|
||||
<text>{{ $lang('cancel') }}</text>
|
||||
<text>{{ $lang('ai-chat.index.cancel') }}</text>
|
||||
</button>
|
||||
<button
|
||||
class="nickname-action-btn confirm"
|
||||
:class="{ disabled: !tempNickname.trim() }"
|
||||
:disabled="!tempNickname.trim()"
|
||||
@click="saveNickname">
|
||||
<text>{{ $lang('save') }}</text>
|
||||
<text>{{ $lang('ai-chat.index.save') }}</text>
|
||||
</button>
|
||||
</view>
|
||||
</view>
|
||||
@@ -87,7 +87,7 @@ export default {
|
||||
uni.setStorageSync('user_nickname', newNickname)
|
||||
this.$emit('nickname-change', newNickname)
|
||||
this.close()
|
||||
uni.showToast({ title: this.$lang('nicknameChangeSuccess'), icon: 'success', duration: 1500 })
|
||||
uni.showToast({ title: this.$lang('ai-chat.index.nicknameChangeSuccess'), icon: 'success', duration: 1500 })
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
<!-- 搜索入口按钮(浮动在消息区右上角) -->
|
||||
<view class="search-entrance" :class="{ 'icon-only': !showLabel }" v-if="!showSearchBar" @click="toggleSearch">
|
||||
<text class="iconfont icon-sousuo search-entrance-icon"></text>
|
||||
<text class="search-entrance-label" v-if="showLabel">{{ $lang('searchEntrance') }}</text>
|
||||
<text class="search-entrance-label" v-if="showLabel">{{ $lang('ai-chat.index.searchEntrance') }}</text>
|
||||
</view>
|
||||
|
||||
<!-- 搜索浮条 -->
|
||||
@@ -14,7 +14,7 @@
|
||||
<input
|
||||
class="search-bar-input"
|
||||
v-model="searchKeyword"
|
||||
:placeholder="$lang('searchPlaceholder')"
|
||||
:placeholder="$lang('ai-chat.index.searchPlaceholder')"
|
||||
:focus="true"
|
||||
@input="onSearchInput"
|
||||
@confirm="doSearch" />
|
||||
@@ -27,11 +27,11 @@
|
||||
<text class="search-bar-nav" :class="{ disabled: searchResultIndex >= searchResults.length - 1 }" @click="scrollToNextResult">▼</text>
|
||||
</view>
|
||||
</view>
|
||||
<text class="search-bar-close" @click="closeSearch">{{ $lang('searchClose') }}</text>
|
||||
<text class="search-bar-close" @click="closeSearch">{{ $lang('ai-chat.index.searchClose') }}</text>
|
||||
</view>
|
||||
<view class="search-bar-status" v-if="searched && searchKeyword && searchResults.length === 0">
|
||||
<text class="search-bar-status-icon">!</text>
|
||||
<text class="search-bar-status-text">{{ $lang('noMatchResult') }}</text>
|
||||
<text class="search-bar-status-text">{{ $lang('ai-chat.index.noMatchResult') }}</text>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
@@ -187,7 +187,7 @@ export default {
|
||||
if (idx >= 0) {
|
||||
this.scrollToSearchResult(idx)
|
||||
} else {
|
||||
uni.showToast({ title: this.$lang('searchAtTop'), icon: 'none' })
|
||||
uni.showToast({ title: this.$lang('ai-chat.index.searchAtTop'), icon: 'none' })
|
||||
}
|
||||
},
|
||||
|
||||
@@ -196,7 +196,7 @@ export default {
|
||||
if (idx < this.searchResults.length) {
|
||||
this.scrollToSearchResult(idx)
|
||||
} else {
|
||||
uni.showToast({ title: this.$lang('searchAtBottom'), icon: 'none' })
|
||||
uni.showToast({ title: this.$lang('ai-chat.index.searchAtBottom'), icon: 'none' })
|
||||
}
|
||||
},
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
<view class="tools-mask" @click="hideToolsPanel"></view>
|
||||
<view class="tools-panel">
|
||||
<view class="tools-header">
|
||||
<text>{{ $lang('moreFunctions') }}</text>
|
||||
<text>{{ $lang('ai-chat.index.moreFunctions') }}</text>
|
||||
<button class="close-btn" @click="hideToolsPanel">
|
||||
<text class="iconfont icon-close"></text>
|
||||
</button>
|
||||
@@ -13,25 +13,25 @@
|
||||
<view class="tool-icon">
|
||||
<text class="iconfont icon-image"></text>
|
||||
</view>
|
||||
<text class="tool-text">{{ $lang('image') }}</text>
|
||||
<text class="tool-text">{{ $lang('ai-chat.index.image') }}</text>
|
||||
</view>
|
||||
<view class="tool-item" @click="selectFile">
|
||||
<view class="tool-icon">
|
||||
<text class="iconfont icon-file"></text>
|
||||
</view>
|
||||
<text class="tool-text">{{ $lang('file') }}</text>
|
||||
<text class="tool-text">{{ $lang('ai-chat.index.file') }}</text>
|
||||
</view>
|
||||
<view class="tool-item" @click="startRecord">
|
||||
<view class="tool-icon">
|
||||
<text class="iconfont icon-voice"></text>
|
||||
</view>
|
||||
<text class="tool-text">{{ $lang('voice') }}</text>
|
||||
<text class="tool-text">{{ $lang('ai-chat.index.voice') }}</text>
|
||||
</view>
|
||||
<view class="tool-item" @click="selectLocation">
|
||||
<view class="tool-icon">
|
||||
<text class="iconfont icon-location"></text>
|
||||
</view>
|
||||
<text class="tool-text">{{ $lang('location') }}</text>
|
||||
<text class="tool-text">{{ $lang('ai-chat.index.location') }}</text>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
<view class="voice-mask" @click="hideVoicePanel"></view>
|
||||
<view class="voice-input-panel">
|
||||
<view class="voice-header">
|
||||
<text>{{ $lang('voiceInputTitle') }}</text>
|
||||
<text>{{ $lang('ai-chat.index.voiceInputTitle') }}</text>
|
||||
<button class="close-btn" @click="hideVoicePanel">
|
||||
<text class="iconfont icon-close"></text>
|
||||
</button>
|
||||
@@ -16,7 +16,7 @@
|
||||
class="wave-bar"
|
||||
:style="{ animationDelay: (i * 0.1) + 's' }"></view>
|
||||
</view>
|
||||
<text class="voice-tip">{{ voiceInputing ? $lang('recordingTip') : $lang('startRecordTip') }}</text>
|
||||
<text class="voice-tip">{{ voiceInputing ? $lang('ai-chat.index.recordingTip') : $lang('ai-chat.index.startRecordTip') }}</text>
|
||||
</view>
|
||||
<view class="voice-actions">
|
||||
<button class="voice-btn" @click="toggleVoiceInput">
|
||||
@@ -86,7 +86,7 @@ export default {
|
||||
// 录音中,可扩展实时转文字
|
||||
})
|
||||
.catch(error => {
|
||||
uni.showToast({ title: this.$lang('voiceInputFailed'), icon: 'none' })
|
||||
uni.showToast({ title: this.$lang('ai-chat.index.voiceInputFailed'), icon: 'none' })
|
||||
this.voiceInputing = false
|
||||
})
|
||||
}
|
||||
|
||||
@@ -39,7 +39,7 @@
|
||||
<view class="settings-mask" @click="hideSettings"></view>
|
||||
<view class="settings-panel">
|
||||
<view class="settings-header">
|
||||
<text class="settings-title">{{ $lang('settingsTitle') }}</text>
|
||||
<text class="settings-title">{{ $lang('ai-chat.index.settingsTitle') }}</text>
|
||||
<view class="close-btn" @click="hideSettings">
|
||||
<text>✕</text>
|
||||
</view>
|
||||
@@ -50,8 +50,8 @@
|
||||
<text class="iconfont icon-user">📷</text>
|
||||
</view>
|
||||
<view class="setting-info">
|
||||
<text class="setting-label">{{ $lang('changeAvatar') }}</text>
|
||||
<text class="setting-desc">{{ $lang('changeAvatarDesc') }}</text>
|
||||
<text class="setting-label">{{ $lang('ai-chat.index.changeAvatar') }}</text>
|
||||
<text class="setting-desc">{{ $lang('ai-chat.index.changeAvatarDesc') }}</text>
|
||||
</view>
|
||||
<text class="iconfont icon-right">›</text>
|
||||
</view>
|
||||
@@ -60,8 +60,8 @@
|
||||
<text class="iconfont icon-edit">✏️</text>
|
||||
</view>
|
||||
<view class="setting-info">
|
||||
<text class="setting-label">{{ $lang('changeNickname') }}</text>
|
||||
<text class="setting-desc">{{ $lang('changeNicknameDesc') }}</text>
|
||||
<text class="setting-label">{{ $lang('ai-chat.index.changeNickname') }}</text>
|
||||
<text class="setting-desc">{{ $lang('ai-chat.index.changeNicknameDesc') }}</text>
|
||||
</view>
|
||||
<text class="iconfont icon-right">›</text>
|
||||
</view>
|
||||
@@ -125,7 +125,7 @@ export default {
|
||||
},
|
||||
|
||||
async onLoad(options) {
|
||||
this.fallbackWelcome = this.$lang('fallbackWelcome');
|
||||
this.fallbackWelcome = this.$lang('ai-chat.index.fallbackWelcome');
|
||||
|
||||
// ✅ 修改:取消权限校验,允许所有客服类型访问此页面
|
||||
// const hasAccess = this.checkAccessPermission();
|
||||
@@ -134,7 +134,7 @@ export default {
|
||||
// return;
|
||||
// }
|
||||
|
||||
this.$langConfig.title(this.$lang('title'));
|
||||
this.$langConfig.title(this.$lang('ai-chat.index.title'));
|
||||
this.initChat();
|
||||
},
|
||||
|
||||
@@ -143,7 +143,7 @@ export default {
|
||||
},
|
||||
|
||||
onShow() {
|
||||
console.log(this.$lang('logOnShowTriggered'));
|
||||
console.log(this.$lang('ai-chat.index.logOnShowTriggered'));
|
||||
// 监听键盘高度变化(H5 可能不支持,try-catch 保护)
|
||||
try {
|
||||
this._keyboardChangeHandler = (res) => {
|
||||
@@ -154,7 +154,7 @@ export default {
|
||||
};
|
||||
uni.onKeyboardHeightChange(this._keyboardChangeHandler);
|
||||
} catch (e) {
|
||||
console.warn(this.$lang('logKeyboardChangeUnavailable') + ':', e.message);
|
||||
console.warn(this.$lang('ai-chat.index.logKeyboardChangeUnavailable') + ':', e.message);
|
||||
}
|
||||
// 每次页面显示时尝试加载历史记录(H5可能组件尚未创建,用 nextTick 确保 ref 就绪)
|
||||
this.$nextTick(() => {
|
||||
@@ -177,7 +177,7 @@ export default {
|
||||
},
|
||||
|
||||
onUnload() {
|
||||
console.log(this.$lang('logOnUnloadTriggered'));
|
||||
console.log(this.$lang('ai-chat.index.logOnUnloadTriggered'));
|
||||
this.cleanup();
|
||||
aiService.disconnectWebSocket();
|
||||
},
|
||||
@@ -233,13 +233,13 @@ export default {
|
||||
},
|
||||
|
||||
handleEventError(error, event) {
|
||||
console.error(this.$lang('logEventHandleError') + ':', {
|
||||
console.error(this.$lang('ai-chat.index.logEventHandleError') + ':', {
|
||||
error: error.message,
|
||||
eventType: event?.type,
|
||||
component: this. $options.name
|
||||
});
|
||||
|
||||
this.showError(this.$lang('operationFailed'));
|
||||
this.showError(this.$lang('ai-chat.index.operationFailed'));
|
||||
},
|
||||
|
||||
// ========== 初始化页面 ==========
|
||||
@@ -263,7 +263,7 @@ export default {
|
||||
this.calculateScrollViewHeight();
|
||||
this.setupNavigationEvents();
|
||||
} catch (error) {
|
||||
console.error(this.$lang('logInitNavbarFailed') + ':', error);
|
||||
console.error(this.$lang('ai-chat.index.logInitNavbarFailed') + ':', error);
|
||||
this.setFallbackNavigationValues();
|
||||
}
|
||||
},
|
||||
@@ -319,7 +319,7 @@ export default {
|
||||
// 显示菜单
|
||||
showMenu() {
|
||||
uni.showActionSheet({
|
||||
itemList: [this.$lang('menuClearChat'), this.$lang('menuExport'), this.$lang('menuSettings'), this.$lang('menuHelp')],
|
||||
itemList: [this.$lang('ai-chat.index.menuClearChat'), this.$lang('ai-chat.index.menuExport'), this.$lang('ai-chat.index.menuSettings'), this.$lang('ai-chat.index.menuHelp')],
|
||||
success: (res) => {
|
||||
switch (res.tapIndex) {
|
||||
case 0:
|
||||
@@ -341,8 +341,8 @@ export default {
|
||||
|
||||
clearChat() {
|
||||
uni.showModal({
|
||||
title: this.$lang('prompt'),
|
||||
content: this.$lang('confirmClearChat'),
|
||||
title: this.$lang('ai-chat.index.prompt'),
|
||||
content: this.$lang('ai-chat.index.confirmClearChat'),
|
||||
success: (res) => {
|
||||
if (res.confirm) {
|
||||
this. $refs.chat.clearMessages();
|
||||
@@ -350,7 +350,7 @@ export default {
|
||||
id: Date.now(),
|
||||
role: 'ai',
|
||||
type: 'text',
|
||||
content: this.$lang('chatCleared'),
|
||||
content: this.$lang('ai-chat.index.chatCleared'),
|
||||
timestamp: Date.now()
|
||||
});
|
||||
}
|
||||
@@ -360,7 +360,7 @@ export default {
|
||||
|
||||
exportChat() {
|
||||
uni.showToast({
|
||||
title: this.$lang('featureDeveloping'),
|
||||
title: this.$lang('ai-chat.index.featureDeveloping'),
|
||||
icon: 'none'
|
||||
});
|
||||
},
|
||||
@@ -388,7 +388,7 @@ export default {
|
||||
id: Date.now(),
|
||||
role: 'ai',
|
||||
type: 'markdown',
|
||||
content: this.$lang('helpContent'),
|
||||
content: this.$lang('ai-chat.index.helpContent'),
|
||||
timestamp: Date.now()
|
||||
};
|
||||
this.$refs.chat.addMessage(helpMessage);
|
||||
@@ -402,11 +402,11 @@ export default {
|
||||
|
||||
generateAIResponse(userMessage) {
|
||||
const responses = [
|
||||
this.$lang('aiResponseTemplate1'),
|
||||
this.$lang('aiResponseTemplate2'),
|
||||
this.$lang('aiResponseTemplate3'),
|
||||
this.$lang('aiResponseTemplate4'),
|
||||
this.$lang('aiResponseTemplate5')
|
||||
this.$lang('ai-chat.index.aiResponseTemplate1'),
|
||||
this.$lang('ai-chat.index.aiResponseTemplate2'),
|
||||
this.$lang('ai-chat.index.aiResponseTemplate3'),
|
||||
this.$lang('ai-chat.index.aiResponseTemplate4'),
|
||||
this.$lang('ai-chat.index.aiResponseTemplate5'),
|
||||
];
|
||||
|
||||
const randomResponse = responses[Math.floor(Math.random() * responses.length)];
|
||||
@@ -415,7 +415,7 @@ export default {
|
||||
id: Date.now(),
|
||||
role: 'ai',
|
||||
type: 'text',
|
||||
content: `${randomResponse}\n\n${this.$lang('aiProcessingMessage', { question: userMessage.content })}`,
|
||||
content: `${randomResponse}\n\n${this.$lang('ai-chat.index.aiProcessingMessage', { question: userMessage.content })}`,
|
||||
timestamp: Date.now(),
|
||||
actions: [
|
||||
{ type: 'like', count: 0 },
|
||||
@@ -430,10 +430,10 @@ export default {
|
||||
onActionClick({ action, message }) {
|
||||
switch (action.type) {
|
||||
case 'like':
|
||||
uni.showToast({ title: this.$lang('thanksFeedback'), icon: 'success' });
|
||||
uni.showToast({ title: this.$lang('ai-chat.index.thanksFeedback'), icon: 'success' });
|
||||
break;
|
||||
case 'dislike':
|
||||
uni.showToast({ title: this.$lang('improveService'), icon: 'none' });
|
||||
uni.showToast({ title: this.$lang('ai-chat.index.improveService'), icon: 'none' });
|
||||
break;
|
||||
}
|
||||
},
|
||||
@@ -442,7 +442,7 @@ export default {
|
||||
},
|
||||
|
||||
onFilePreview(message) {
|
||||
uni.showToast({ title: this.$lang('openingFileName', { name: message.fileName }), icon: 'none' });
|
||||
uni.showToast({ title: this.$lang('ai-chat.index.openingFileName', { name: message.fileName }), icon: 'none' });
|
||||
},
|
||||
|
||||
onAudioPlay(message) {
|
||||
@@ -459,11 +459,11 @@ export default {
|
||||
|
||||
sendProductToAI(product) {
|
||||
if (!this.$refs.chat) {
|
||||
console.error(this.$lang('logChatComponentNotInit'))
|
||||
console.error(this.$lang('ai-chat.index.logChatComponentNotInit'))
|
||||
return
|
||||
}
|
||||
|
||||
const productContent = this.$lang('productInquiryTemplate', {
|
||||
const productContent = this.$lang('ai-chat.index.productInquiryTemplate', {
|
||||
name: product.goods_name,
|
||||
price: product.price,
|
||||
id: product.goods_id
|
||||
@@ -475,8 +475,8 @@ export default {
|
||||
|
||||
onLinkOpen(message) {
|
||||
uni.showModal({
|
||||
title: this.$lang('openLink'),
|
||||
content: this.$lang('confirmOpenLinkText', { url: message.url }),
|
||||
title: this.$lang('ai-chat.index.openLink'),
|
||||
content: this.$lang('ai-chat.index.confirmOpenLinkText', { url: message.url }),
|
||||
success: (res) => {
|
||||
if (res.confirm) {
|
||||
// #ifdef H5
|
||||
@@ -491,7 +491,7 @@ export default {
|
||||
},
|
||||
|
||||
onProductView(message) {
|
||||
uni.showToast({ title: this.$lang('openingFileTitle', { title: message.title }), icon: 'none' });
|
||||
uni.showToast({ title: this.$lang('ai-chat.index.openingFileTitle', { title: message.title }), icon: 'none' });
|
||||
},
|
||||
|
||||
onInputChange(value) {
|
||||
@@ -503,7 +503,7 @@ export default {
|
||||
|
||||
// 如果配置未加载,延迟重试(最多3次,防白屏)
|
||||
if (!servicerConfig) {
|
||||
console.warn(this.$lang('logServicerConfigNotLoaded'));
|
||||
console.warn(this.$lang('ai-chat.index.logServicerConfigNotLoaded'));
|
||||
setTimeout(() => {
|
||||
this.checkAccessPermission();
|
||||
}, 200);
|
||||
@@ -519,7 +519,7 @@ export default {
|
||||
// #endif
|
||||
|
||||
if (currentType !== 'aikefu') {
|
||||
uni.showToast({ title: this.$lang('serviceTypeNotSupported'), icon: 'none' });
|
||||
uni.showToast({ title: this.$lang('ai-chat.index.serviceTypeNotSupported'), icon: 'none' });
|
||||
setTimeout(() => {
|
||||
const pages = getCurrentPages();
|
||||
if (pages.length > 1) {
|
||||
|
||||
@@ -88,7 +88,7 @@ export default {
|
||||
setPublicShare() {
|
||||
let shareUrl = this.$config.h5Domain + '/pages_tool/article/list';
|
||||
this.$util.setPublicShare({
|
||||
title: this.$lang('title'),
|
||||
title: this.$lang('article.list.title'),
|
||||
desc: '',
|
||||
link: shareUrl,
|
||||
imgUrl: this.siteInfo ? this.$util.img(this.siteInfo.logo_square) : ''
|
||||
@@ -96,7 +96,7 @@ export default {
|
||||
}
|
||||
},
|
||||
onShareAppMessage(res) {
|
||||
var title = this.$lang('title');
|
||||
var title = this.$lang('article.list.title');
|
||||
var path = '/pages_tool/article/list';
|
||||
return {
|
||||
title: title,
|
||||
@@ -107,7 +107,7 @@ export default {
|
||||
},
|
||||
//分享到朋友圈
|
||||
onShareTimeline() {
|
||||
var title = this.$lang('title');
|
||||
var title = this.$lang('article.list.title');
|
||||
var query = '/pages_tool/article/list';
|
||||
return {
|
||||
title: title,
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
<view style="padding:20rpx;">
|
||||
<view style="font-size:36rpx;font-weight:600;">{{item.$orig.title}}</view>
|
||||
<view>{{item.$orig.desc}}</view>
|
||||
<view style="font-size:24rpx;color:#888;padding-top:20rpx;">{{ $lang('completionTime', { time: item.g3 }) }}</view>
|
||||
<view style="font-size:24rpx;color:#888;padding-top:20rpx;">{{ $lang('cases.index.completionTime', { time: item.g3 }) }}</view>
|
||||
<block v-if="item.$orig.files_url">
|
||||
<view @tap="toDetail(item.$orig)" class="item">
|
||||
<view class="article-img">
|
||||
@@ -28,7 +28,7 @@
|
||||
<view class="info-wrap">
|
||||
<view class="title">{{item.$orig.files_title}}</view>
|
||||
<view class="read-wrap">
|
||||
<text>{{ $lang('viewPdfFile') }}</text>
|
||||
<text>{{ $lang('cases.index.viewPdfFile') }}</text>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
@@ -44,28 +44,28 @@
|
||||
<uni-popup ref="informationPopup" class="vue-ref" type="bottom" @change="change">
|
||||
<view class="liuyan-popup-layer popup-layer">
|
||||
<view @tap="closeinformationPopup" class="head-wrap">
|
||||
<text>{{ $lang('messagePopup.title') }}</text>
|
||||
<text>{{ $lang('cases.index.messagePopup.title') }}</text>
|
||||
<text class="iconfont icon-close"></text>
|
||||
</view>
|
||||
<scroll-view class="liuyan-body" scroll-y="true">
|
||||
<view style="padding:0 30rpx;">
|
||||
<view class="fui-cell-group">
|
||||
<view class="fui-cell">
|
||||
<view class="fui-cell-label">{{ $lang('form.name') }}</view>
|
||||
<view class="fui-cell-label">{{ $lang('cases.index.form.name') }}</view>
|
||||
<view class="fui-cell-info">
|
||||
<input class="fui-input" :placeholder="$lang('form.namePlaceholder')" v-model="Form.realname" />
|
||||
<input class="fui-input" :placeholder="$lang('cases.index.form.namePlaceholder')" v-model="Form.realname" />
|
||||
</view>
|
||||
</view>
|
||||
<view class="fui-cell">
|
||||
<view class="fui-cell-label">{{ $lang('form.contact') }}</view>
|
||||
<view class="fui-cell-label">{{ $lang('cases.index.form.contact') }}</view>
|
||||
<view class="fui-cell-info">
|
||||
<input class="fui-input" maxlength="11" :placeholder="$lang('form.mobilePlaceholder')" type="number" v-model="Form.mobile" />
|
||||
<input class="fui-input" maxlength="11" :placeholder="$lang('cases.index.form.mobilePlaceholder')" type="number" v-model="Form.mobile" />
|
||||
</view>
|
||||
</view>
|
||||
<view class="fui-cell">
|
||||
<view class="fui-cell-label" style="position:absolute;top:10px;">{{ $lang('form.messageContent') }}</view>
|
||||
<view class="fui-cell-label" style="position:absolute;top:10px;">{{ $lang('cases.index.form.messageContent') }}</view>
|
||||
<view class="fui-cell-info" style="margin-left:160rpx;border:solid 2rpx #eee;">
|
||||
<textarea class="textarea" style="font-size:28rpx;padding:10rpx;" :placeholder="$lang('form.messagePlaceholder')" v-model="Form.remark"></textarea>
|
||||
<textarea class="textarea" style="font-size:28rpx;padding:10rpx;" :placeholder="$lang('cases.index.form.messagePlaceholder')" v-model="Form.remark"></textarea>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
@@ -140,7 +140,7 @@ export default {
|
||||
},
|
||||
toDetail(item) {
|
||||
const url = item.files_url;
|
||||
uni.showLoading({ title: this.$lang('toast.loading') });
|
||||
uni.showLoading({ title: this.$lang('cases.index.toast.loading') });
|
||||
try {
|
||||
uni.downloadFile({
|
||||
url: url,
|
||||
@@ -164,7 +164,7 @@ export default {
|
||||
},
|
||||
complete: (res) => {
|
||||
if (res.statusCode === 404) {
|
||||
uni.showToast({ title: this.$lang('toast.fileNotExist'), icon: "none" });
|
||||
uni.showToast({ title: this.$lang('cases.index.toast.fileNotExist'), icon: "none" });
|
||||
}
|
||||
}
|
||||
});
|
||||
@@ -186,7 +186,7 @@ export default {
|
||||
},
|
||||
onTapDoc(item) {
|
||||
const url = this.$util.img(item.files_url);
|
||||
uni.showLoading({ title: this.$lang('toast.loading') });
|
||||
uni.showLoading({ title: this.$lang('cases.index.toast.loading') });
|
||||
try {
|
||||
uni.downloadFile({
|
||||
url: url,
|
||||
@@ -210,7 +210,7 @@ export default {
|
||||
},
|
||||
complete: (res) => {
|
||||
if (res.statusCode === 404) {
|
||||
uni.showToast({ title: this.$lang('toast.fileNotExist'), icon: "none" });
|
||||
uni.showToast({ title: this.$lang('cases.index.toast.fileNotExist'), icon: "none" });
|
||||
}
|
||||
}
|
||||
});
|
||||
@@ -220,7 +220,7 @@ export default {
|
||||
},
|
||||
share(item) {
|
||||
const url = this.$util.img(item.files_url);
|
||||
uni.showLoading({ title: this.$lang('toast.loading') });
|
||||
uni.showLoading({ title: this.$lang('cases.index.toast.loading') });
|
||||
try {
|
||||
uni.downloadFile({
|
||||
url: url,
|
||||
@@ -241,7 +241,7 @@ export default {
|
||||
},
|
||||
complete: (res) => {
|
||||
if (res.statusCode === 404) {
|
||||
uni.showToast({ title: this.$lang('toast.fileNotExist'), icon: "none" });
|
||||
uni.showToast({ title: this.$lang('cases.index.toast.fileNotExist'), icon: "none" });
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
@@ -147,7 +147,7 @@
|
||||
<view class="fui-cell-info">
|
||||
<input id="input-realname" :value="Form.realname"
|
||||
@input="e => Form.realname = e.detail.value" class="fui-input"
|
||||
:placeholder="$lang('pleaseEnterName')" :key="formKey" />
|
||||
:placeholder="$lang('contact.contact.pleaseEnterName')" :key="formKey" />
|
||||
</view>
|
||||
</view>
|
||||
<view class="fui-cell ">
|
||||
@@ -155,7 +155,7 @@
|
||||
<view class="fui-cell-info">
|
||||
<input id="input-mobile" :value="Form.mobile"
|
||||
@input="e => Form.mobile = e.detail.value" class="fui-input" maxlength="11"
|
||||
:placeholder="$lang('pleaseEnterMobile')" type="number" :key="formKey" />
|
||||
:placeholder="$lang('contact.contact.pleaseEnterMobile')" type="number" :key="formKey" />
|
||||
</view>
|
||||
</view>
|
||||
<view class="fui-cell ">
|
||||
@@ -165,7 +165,7 @@
|
||||
<!-- <input v-model="Form.mailbox" class="fui-input" placeholder="请输入您的邮箱" type="text" ></input> -->
|
||||
<textarea id="textarea-remark" :value="Form.remark"
|
||||
@input="e => Form.remark = e.detail.value" class="textarea"
|
||||
:placeholder="$lang('pleaseEnterMessage')"
|
||||
:placeholder="$lang('contact.contact.pleaseEnterMessage')"
|
||||
style="font-size: 28rpx;padding: 10rpx;" :key="formKey"></textarea>
|
||||
</view>
|
||||
</view>
|
||||
@@ -311,11 +311,11 @@ export default {
|
||||
// 如果后台没配置,用默认值
|
||||
this.mpShareData = {
|
||||
appMessage: {
|
||||
title: this.$lang('contactUs'),
|
||||
title: this.$lang('contact.contact.contactUs'),
|
||||
path: '/pages_tool/contact/contact'
|
||||
},
|
||||
timeLine: {
|
||||
title: this.$lang('contactUs'),
|
||||
title: this.$lang('contact.contact.contactUs'),
|
||||
query: ''
|
||||
}
|
||||
};
|
||||
@@ -351,7 +351,7 @@ export default {
|
||||
this.currentVideo = video;
|
||||
this.$refs.videoPlayerPopup.open();
|
||||
} else {
|
||||
uni.showToast({ title: this.$lang('videoUrlNotExist'), icon: 'none' });
|
||||
uni.showToast({ title: this.$lang('contact.contact.videoUrlNotExist'), icon: 'none' });
|
||||
}
|
||||
},
|
||||
|
||||
@@ -369,22 +369,22 @@ export default {
|
||||
},
|
||||
save() {
|
||||
if (!this.Form.realname.trim()) {
|
||||
uni.showToast({ title: this.$lang('pleaseFillName'), icon: 'none' });
|
||||
uni.showToast({ title: this.$lang('contact.contact.pleaseFillName'), icon: 'none' });
|
||||
return;
|
||||
}
|
||||
if (!this.Form.mobile || !/^1[3-9]\d{9}$/.test(this.Form.mobile)) {
|
||||
uni.showToast({ title: this.$lang('invalidMobileFormat'), icon: 'none' });
|
||||
uni.showToast({ title: this.$lang('contact.contact.invalidMobileFormat'), icon: 'none' });
|
||||
return;
|
||||
}
|
||||
if (!this.Form.remark.trim()) {
|
||||
uni.showToast({ title: this.$lang('pleaseFillMessage'), icon: 'none' });
|
||||
uni.showToast({ title: this.$lang('contact.contact.pleaseFillMessage'), icon: 'none' });
|
||||
return;
|
||||
}
|
||||
this.$api.sendRequest({
|
||||
url: '/api/member/message',
|
||||
data: this.Form,
|
||||
success: res => {
|
||||
uni.showToast({ title: res.message || this.$lang('submitSuccess'), icon: 'success' });
|
||||
uni.showToast({ title: res.message || this.$lang('contact.contact.submitSuccess'), icon: 'success' });
|
||||
|
||||
|
||||
// 重置表单数据
|
||||
@@ -402,7 +402,7 @@ export default {
|
||||
// #endif
|
||||
},
|
||||
fail: () => {
|
||||
uni.showToast({ title: this.$lang('submitFailed'), icon: 'none' });
|
||||
uni.showToast({ title: this.$lang('contact.contact.submitFailed'), icon: 'none' });
|
||||
}
|
||||
});
|
||||
},
|
||||
@@ -459,31 +459,31 @@ export default {
|
||||
},
|
||||
|
||||
copy(text) {
|
||||
copyText(text, { copySuccess: this.$lang('copySuccess'), copyFailed: this.$lang('copyFailed') });
|
||||
copyText(text, { copySuccess: this.$lang('contact.contact.copySuccess'), copyFailed: this.$lang('contact.contact.copyFailed') });
|
||||
},
|
||||
|
||||
tomap() {
|
||||
openLocation({
|
||||
latitude: parseFloat(this.shop.latitude),
|
||||
longitude: parseFloat(this.shop.longitude),
|
||||
name: this.$lang('oneClickNavigation'),
|
||||
name: this.$lang('contact.contact.oneClickNavigation'),
|
||||
});
|
||||
},
|
||||
onShareAppMessage() {
|
||||
return this.mpShareData?.appMessage || {
|
||||
title: this.$lang('contactUs'),
|
||||
title: this.$lang('contact.contact.contactUs'),
|
||||
path: '/pages_tool/contact/contact'
|
||||
};
|
||||
},
|
||||
onShareTimeline() {
|
||||
return this.mpShareData?.timeLine || {
|
||||
title: this.$lang('contactUs'),
|
||||
title: this.$lang('contact.contact.contactUs'),
|
||||
query: ''
|
||||
};
|
||||
},
|
||||
onAddToFavorites() {
|
||||
return {
|
||||
title: this.$lang('contactUs'),
|
||||
title: this.$lang('contact.contact.contactUs'),
|
||||
path: '/pages_tool/contact/contact'
|
||||
};
|
||||
},
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
<view>
|
||||
<view class="search-wrap uni-flex uni-row">
|
||||
<view class="flex-item input-wrap">
|
||||
<input class="uni-input" maxlength="50" :placeholder="$lang('searchPlaceholder')" v-model="keyword" @confirm="search"
|
||||
<input class="uni-input" maxlength="50" :placeholder="$lang('files.list.searchPlaceholder')" v-model="keyword" @confirm="search"
|
||||
@input="__set_model($event, 'keyword')" />
|
||||
<text class="iconfont icon-sousuo3" @tap="search"></text>
|
||||
</view>
|
||||
@@ -20,7 +20,7 @@
|
||||
<view class="info-wrap">
|
||||
<view class="title">{{ item.$orig.files_title }}</view>
|
||||
<view class="read-wrap">
|
||||
<text>{{ $lang('viewPdf') }}</text>
|
||||
<text>{{ $lang('files.list.viewPdf') }}</text>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
@@ -29,7 +29,7 @@
|
||||
</block>
|
||||
<block v-else>
|
||||
<view class="empty-wrap">
|
||||
<ns-empty :text="$lang('emptyText')" :isIndex="false"></ns-empty>
|
||||
<ns-empty :text="$lang('files.list.emptyText')" :isIndex="false"></ns-empty>
|
||||
</view>
|
||||
</block>
|
||||
</view>
|
||||
@@ -116,7 +116,7 @@ export default {
|
||||
},
|
||||
toDetail(item) {
|
||||
uni.showLoading({
|
||||
title: this.$lang('loading')
|
||||
title: this.$lang('files.list.loading')
|
||||
})
|
||||
try {
|
||||
uni.downloadFile({
|
||||
@@ -141,7 +141,7 @@ export default {
|
||||
complete: res => {
|
||||
if (res.statusCode === 404) {
|
||||
uni.showToast({
|
||||
title: this.$lang('fileNotExist'),
|
||||
title: this.$lang('files.list.fileNotExist'),
|
||||
icon: 'none'
|
||||
})
|
||||
}
|
||||
|
||||
@@ -43,7 +43,7 @@
|
||||
<view v-if="showTip" class="collectPopupWindow"
|
||||
:style="{ marginTop: (collectTop + statusBarHeight) * 2 + 'rpx' }">
|
||||
<image :src="$util.img('public/uniapp/index/collect2.png')" mode="aspectFit" show-menu-by-longpress/>
|
||||
<text @click="closeCollectPopupWindow">{{ $lang('index.diy.iKnow') }}</text>
|
||||
<text @click="closeCollectPopupWindow">{{ $lang('index.diy.diy.iKnow') }}</text>
|
||||
</view>
|
||||
</uni-popup>
|
||||
|
||||
|
||||
@@ -3,20 +3,20 @@
|
||||
<view class="iconfont icon-close" @click="navigateBack()"></view>
|
||||
<view class="header-wrap">
|
||||
<block v-if="stepShow == 0">
|
||||
<view class="title">{{ $lang('find.step0Title') }}</view>
|
||||
<view><text class="color-tip">{{ $lang('find.step0Tip') }}</text></view>
|
||||
<view class="title">{{ $lang('login.find.step0Title') }}</view>
|
||||
<view><text class="color-tip">{{ $lang('login.find.step0Tip') }}</text></view>
|
||||
</block>
|
||||
|
||||
<block v-if="stepShow == 1">
|
||||
<view class="title">{{ $lang('find.step1Title') }}</view>
|
||||
<view class="title">{{ $lang('login.find.step1Title') }}</view>
|
||||
<view>
|
||||
<text class="color-tip">{{ $lang('find.step1Tip', { mobile: formData.mobile }) }}</text>
|
||||
<text class="color-tip">{{ $lang('login.find.step1Tip', { mobile: formData.mobile }) }}</text>
|
||||
</view>
|
||||
</block>
|
||||
|
||||
<block v-if="stepShow == 2">
|
||||
<view class="title">{{ $lang('find.step2Title') }}</view>
|
||||
<view><text class="color-tip">{{ $lang('find.step2Tip') }}</text></view>
|
||||
<view class="title">{{ $lang('login.find.step2Title') }}</view>
|
||||
<view><text class="color-tip">{{ $lang('login.find.step2Tip') }}</text></view>
|
||||
</block>
|
||||
</view>
|
||||
<view class="find-form">
|
||||
@@ -29,7 +29,7 @@
|
||||
type="text"
|
||||
maxlength="17"
|
||||
v-model="formData.mobile"
|
||||
:placeholder="$lang('accountPlaceholder')"
|
||||
:placeholder="$lang('login.find.accountPlaceholder')"
|
||||
/>
|
||||
</view>
|
||||
|
||||
@@ -39,13 +39,13 @@
|
||||
placeholder-class="placeholder-class"
|
||||
type="number"
|
||||
maxlength="4"
|
||||
:placeholder="$lang('captchaPlaceholder')"
|
||||
:placeholder="$lang('login.find.captchaPlaceholder')"
|
||||
v-model="formData.captcha"
|
||||
/>
|
||||
<image :src="captcha.img" class="captcha" @click="getCaptcha" show-menu-by-longpress></image>
|
||||
</view>
|
||||
|
||||
<button type="primary" class="find-btn" @click="nextStep()">{{ $lang('next') }}</button>
|
||||
<button type="primary" class="find-btn" @click="nextStep()">{{ $lang('login.find.next') }}</button>
|
||||
</block>
|
||||
|
||||
<!-- 输入动态码 -->
|
||||
@@ -62,7 +62,7 @@
|
||||
type="text"
|
||||
maxlength="30"
|
||||
password="true"
|
||||
:placeholder="$lang('passwordPlaceholder')"
|
||||
:placeholder="$lang('login.login.passwordPlaceholder')"
|
||||
v-model="formData.password"
|
||||
/>
|
||||
</view>
|
||||
@@ -74,12 +74,12 @@
|
||||
type="text"
|
||||
maxlength="30"
|
||||
password="true"
|
||||
:placeholder="$lang('rePasswordPlaceholder')"
|
||||
:placeholder="$lang('login.login.rePasswordPlaceholder')"
|
||||
v-model="formData.rePassword"
|
||||
/>
|
||||
</view>
|
||||
|
||||
<button type="primary" class="find-btn" @click="save">{{ $lang('save') }}</button>
|
||||
<button type="primary" class="find-btn" @click="save">{{ $lang('components.ns-login.save') }}</button>
|
||||
</block>
|
||||
</view>
|
||||
</view>
|
||||
@@ -117,7 +117,7 @@ export default {
|
||||
};
|
||||
},
|
||||
onLoad() {
|
||||
this.codeText = this.$lang('find.resendCode');
|
||||
this.codeText = this.$lang('login.find.resendCode');
|
||||
this.getCaptcha();
|
||||
},
|
||||
onShow() {
|
||||
@@ -144,12 +144,12 @@ export default {
|
||||
{
|
||||
name: 'mobile',
|
||||
checkType: 'phoneno',
|
||||
errorMsg: this.$lang('find.mobileInvalid')
|
||||
errorMsg: this.$lang('login.find.mobileInvalid')
|
||||
},
|
||||
{
|
||||
name: 'captcha',
|
||||
checkType: 'required',
|
||||
errorMsg: this.$lang('captchaPlaceholder')
|
||||
errorMsg: this.$lang('login.find.captchaPlaceholder')
|
||||
}
|
||||
], //手机验证
|
||||
step0CheckRes;
|
||||
@@ -167,7 +167,7 @@ export default {
|
||||
});
|
||||
if (res.code == 0) {
|
||||
this.$util.showToast({
|
||||
title: this.$lang('find.mobileNotRegistered')
|
||||
title: this.$lang('login.find.mobileNotRegistered')
|
||||
});
|
||||
return false;
|
||||
}
|
||||
@@ -186,7 +186,7 @@ export default {
|
||||
{
|
||||
name: 'password',
|
||||
checkType: 'required',
|
||||
errorMsg: this.$lang('find.passwordRequired')
|
||||
errorMsg: this.$lang('login.find.passwordRequired')
|
||||
}
|
||||
];
|
||||
if (regConfig.pwd_len > 0) {
|
||||
@@ -194,27 +194,27 @@ export default {
|
||||
name: 'password',
|
||||
checkType: 'lengthMin',
|
||||
checkRule: regConfig.pwd_len,
|
||||
errorMsg: this.$lang('find.passwordTooShort', { length: regConfig.pwd_len })
|
||||
errorMsg: this.$lang('login.find.passwordTooShort', { length: regConfig.pwd_len })
|
||||
});
|
||||
}
|
||||
if (regConfig.pwd_complexity != '') {
|
||||
let passwordErrorMsg = this.$lang('find.passwordComplexityPrefix'),
|
||||
let passwordErrorMsg = this.$lang('login.find.passwordComplexityPrefix'),
|
||||
reg = '';
|
||||
if (regConfig.pwd_complexity.indexOf('number') != -1) {
|
||||
reg += '(?=.*?[0-9])';
|
||||
passwordErrorMsg += this.$lang('find.complexityNumber');
|
||||
passwordErrorMsg += this.$lang('login.find.complexityNumber');
|
||||
}
|
||||
if (regConfig.pwd_complexity.indexOf('letter') != -1) {
|
||||
reg += '(?=.*?[a-z])';
|
||||
passwordErrorMsg += this.$lang('find.complexityLowercase');
|
||||
passwordErrorMsg += this.$lang('login.find.complexityLowercase');
|
||||
}
|
||||
if (regConfig.pwd_complexity.indexOf('upper_case') != -1) {
|
||||
reg += '(?=.*?[A-Z])';
|
||||
passwordErrorMsg += this.$lang('find.complexityUppercase');
|
||||
passwordErrorMsg += this.$lang('login.find.complexityUppercase');
|
||||
}
|
||||
if (regConfig.pwd_complexity.indexOf('symbol') != -1) {
|
||||
reg += '(?=.*?[#?!@$%^&*-])';
|
||||
passwordErrorMsg += this.$lang('find.complexitySymbol');
|
||||
passwordErrorMsg += this.$lang('login.find.complexitySymbol');
|
||||
}
|
||||
rule.push({
|
||||
name: 'password',
|
||||
@@ -228,7 +228,7 @@ export default {
|
||||
if (checkRes) {
|
||||
if (this.formData.password != this.formData.rePassword) {
|
||||
this.$util.showToast({
|
||||
title: this.$lang('find.passwordMismatch')
|
||||
title: this.$lang('login.find.passwordMismatch')
|
||||
});
|
||||
return false;
|
||||
}
|
||||
@@ -259,7 +259,7 @@ export default {
|
||||
async sendDynaCode() {
|
||||
if (this.formData.captcha.length == 0) {
|
||||
this.$util.showToast({
|
||||
title: this.$lang('captchaPlaceholder')
|
||||
title: this.$lang('login.find.captchaPlaceholder')
|
||||
});
|
||||
return;
|
||||
}
|
||||
@@ -284,7 +284,7 @@ export default {
|
||||
if (this.seconds == 120 && this.timer == null) {
|
||||
this.timer = setInterval(() => {
|
||||
this.seconds--;
|
||||
this.codeText = this.$lang('find.resendCountdown', { seconds: this.seconds });
|
||||
this.codeText = this.$lang('login.find.resendCountdown', { seconds: this.seconds });
|
||||
}, 1000);
|
||||
}
|
||||
uni.setStorageSync('forgot_password_token', data.key);
|
||||
@@ -352,7 +352,7 @@ export default {
|
||||
seconds(value) {
|
||||
if (value == 0) {
|
||||
this.seconds = 120;
|
||||
this.codeText = this.$lang('find.resendCode');
|
||||
this.codeText = this.$lang('login.find.resendCode');
|
||||
this.isSend = false;
|
||||
clearInterval(this.timer);
|
||||
}
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
<scroll-view scroll-y="false" class="container">
|
||||
<view class="header-wrap" :style="{ backgroundImage: 'url(' + $util.img('public/uniapp/member/head.png') + ')' }">
|
||||
<view class="t-b">
|
||||
<div v-html="$lang('welcomeText')"></div>
|
||||
<div v-html="$lang('login.login.welcomeText')"></div>
|
||||
</view>
|
||||
</view>
|
||||
<view class="body-wrap">
|
||||
@@ -11,29 +11,29 @@
|
||||
<view class="input-wrap" v-show="loginMode == 'mobile'">
|
||||
<view class="content">
|
||||
<!-- <view class="area-code">+86</view> -->
|
||||
<input type="number" :placeholder="$lang('mobileInputPlaceholder')"
|
||||
<input type="number" :placeholder="$lang('login.login.mobileInputPlaceholder')"
|
||||
placeholder-class="input-placeholder" class="input" maxlength="11"
|
||||
v-model="formData.mobile" />
|
||||
</view>
|
||||
</view>
|
||||
<view class="input-wrap" v-show="loginMode == 'account'">
|
||||
<view class="content">
|
||||
<input type="text" :placeholder="$lang('accountInputPlaceholder')"
|
||||
<input type="text" :placeholder="$lang('login.login.accountInputPlaceholder')"
|
||||
placeholder-class="input-placeholder" class="input" v-model="formData.account" />
|
||||
</view>
|
||||
</view>
|
||||
<view class="input-wrap" v-show="loginMode == 'account'">
|
||||
<view class="content">
|
||||
<input type="password" :placeholder="$lang('passwordInputPlaceholder')"
|
||||
<input type="password" :placeholder="$lang('login.login.passwordInputPlaceholder')"
|
||||
placeholder-class="input-placeholder" class="input" v-model="formData.password" />
|
||||
<view class="align-right" v-show="loginMode == 'account'">
|
||||
<text @tap="forgetPassword">{{ $lang('forgetPasswordText') }}</text>
|
||||
<text @tap="forgetPassword">{{ $lang('login.login.forgetPasswordText') }}</text>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="input-wrap" v-show="loginMode == 'mobile'">
|
||||
<view class="content">
|
||||
<input type="text" :placeholder="$lang('dynacodeInputPlaceholder')"
|
||||
<input type="text" :placeholder="$lang('login.login.dynacodeInputPlaceholder')"
|
||||
placeholder-class="input-placeholder" class="input" v-model="formData.dynacode" />
|
||||
<view class="dynacode"
|
||||
:class="dynacodeData.seconds == 120 ? 'color-base-text' : 'color-tip'"
|
||||
@@ -44,7 +44,7 @@
|
||||
|
||||
<view class="btn_view">
|
||||
<button type="primary" @tap="login" class="login-btn color-base-border color-base-bg"
|
||||
style="background: #2796f2 !important;border: none;">{{ $lang('loginButtonText') }}</button>
|
||||
style="background: #2796f2 !important;border: none;">{{ $lang('login.login.loginButtonText') }}</button>
|
||||
</view>
|
||||
<view class="regisiter-agreement"
|
||||
style="margin: 0 50rpx;padding-top: 40rpx;line-height: 1.5;display: flex;">
|
||||
@@ -54,11 +54,11 @@
|
||||
@tap="isAgree = !isAgree"></view>
|
||||
<!-- #endif -->
|
||||
<view style="text-align: left;margin-left: 10rpx;padding-top: 2rpx;">{{
|
||||
$lang('registerAgreementText') }} <text
|
||||
$lang('login.login.registerAgreementText') }} <text
|
||||
@tap="tourl('/pages_tool/agreement/contenr?type=0')"
|
||||
style="color:#4395ff">{{ $lang('privacyPolicyText') }}</text> <text
|
||||
style="color:#4395ff">{{ $lang('login.login.privacyPolicyText') }}</text> <text
|
||||
@tap="tourl('/pages_tool/agreement/contenr?type=1')"
|
||||
style="color:#4395ff">{{ $lang('userServiceAgreementText') }}</text></view>
|
||||
style="color:#4395ff">{{ $lang('login.login.userServiceAgreementText') }}</text></view>
|
||||
</view>
|
||||
</view>
|
||||
<loading-cover ref="loadingCover"></loading-cover>
|
||||
@@ -197,7 +197,7 @@ export default {
|
||||
// #ifndef MP-HARMONY
|
||||
if (!this.isAgree) {
|
||||
this.$util.showToast({
|
||||
title: this.$lang('agreeAgreementTip')
|
||||
title: this.$lang('login.login.agreeAgreementTip')
|
||||
});
|
||||
return false;
|
||||
}
|
||||
@@ -237,7 +237,7 @@ export default {
|
||||
this.getMemberInfo(() => {
|
||||
if (can_receive_registergift == 1) {
|
||||
this.$util.showToast({
|
||||
title: this.$lang('loginSuccessTip')
|
||||
title: this.$lang('login.login.loginSuccessTip')
|
||||
});
|
||||
let back = this.back ? this.back : this.$util.MEMBER_PAGE_URL;
|
||||
if (this.$refs.registerReward) this.$refs.registerReward.open(back);
|
||||
@@ -275,23 +275,23 @@ export default {
|
||||
rule = [{
|
||||
name: 'mobile',
|
||||
checkType: 'required',
|
||||
errorMsg: this.$lang('enterMobileTip')
|
||||
errorMsg: this.$lang('login.login.enterMobileTip')
|
||||
}, {
|
||||
name: 'mobile',
|
||||
checkType: 'phoneno',
|
||||
errorMsg: this.$lang('enterCorrectMobileTip')
|
||||
errorMsg: this.$lang('login.login.enterCorrectMobileTip')
|
||||
}];
|
||||
if (this.captchaConfig == 1) {
|
||||
if (this.captcha.id != '') rule.push({
|
||||
name: 'captcha_code',
|
||||
checkType: 'required',
|
||||
errorMsg: this.$lang('captchaPlaceholder')
|
||||
errorMsg: this.$lang('login.login.captchaPlaceholder')
|
||||
});
|
||||
}
|
||||
rule.push({
|
||||
name: 'code',
|
||||
checkType: 'required',
|
||||
errorMsg: this.$lang('dynacodePlaceholder')
|
||||
errorMsg: this.$lang('login.login.dynacodePlaceholder')
|
||||
});
|
||||
}
|
||||
|
||||
@@ -300,19 +300,19 @@ export default {
|
||||
rule = [{
|
||||
name: 'username',
|
||||
checkType: 'required',
|
||||
errorMsg: this.$lang('accountPlaceholder')
|
||||
errorMsg: this.$lang('login.login.accountPlaceholder')
|
||||
},
|
||||
{
|
||||
name: 'password',
|
||||
checkType: 'required',
|
||||
errorMsg: this.$lang('passwordPlaceholder')
|
||||
errorMsg: this.$lang('login.login.passwordPlaceholder')
|
||||
}
|
||||
];
|
||||
if (this.captchaConfig == 1) {
|
||||
if (this.captcha.id != '') rule.push({
|
||||
name: 'captcha_code',
|
||||
checkType: 'required',
|
||||
errorMsg: this.$lang('captchaPlaceholder')
|
||||
errorMsg: this.$lang('login.login.captchaPlaceholder')
|
||||
});
|
||||
}
|
||||
}
|
||||
@@ -374,7 +374,7 @@ export default {
|
||||
fail: res => {
|
||||
this.isSub = false;
|
||||
this.$util.showToast({
|
||||
title: this.$lang('requestFailTip')
|
||||
title: this.$lang('login.login.requestFailTip')
|
||||
});
|
||||
}
|
||||
});
|
||||
@@ -403,7 +403,7 @@ export default {
|
||||
rule.push({
|
||||
name: 'captcha_code',
|
||||
checkType: 'required',
|
||||
errorMsg: this.$lang('enterCaptchaTip')
|
||||
errorMsg: this.$lang('login.login.enterCaptchaTip')
|
||||
});
|
||||
}
|
||||
var checkRes = validate.check(data, rule);
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
v-if="type == 'fenxiao' && payList && payList.balance">
|
||||
<view class="item-top">
|
||||
<view class="item-left">
|
||||
<view class="title-text">{{ $lang('withdrawToBalance') }}</view>
|
||||
<view class="title-text">{{ $lang('member.account.withdrawToBalance') }}</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
@@ -22,19 +22,19 @@
|
||||
</view>
|
||||
<view class="content-bottom">
|
||||
<block v-if="item.withdraw_type == 'alipay'">
|
||||
{{ $lang('withdrawalAccountLabel', { account: item.bank_account }) }}
|
||||
{{ $lang('member.account.withdrawalAccountLabel', { account: item.bank_account }) }}
|
||||
</block>
|
||||
<block v-if="item.withdraw_type == 'bank'">
|
||||
{{ $lang('bankNameLabel', { bankName: item.branch_bank_name }) }}
|
||||
{{ $lang('member.account.bankNameLabel', { bankName: item.branch_bank_name }) }}
|
||||
</block>
|
||||
</view>
|
||||
</view>
|
||||
<view class="item-btn" @click.stop="editAccount('edit', item.id)">{{ $lang('update') }}</view>
|
||||
<view class="item-btn" @click.stop="editAccount('edit', item.id)">{{ $lang('member.account.update') }}</view>
|
||||
</view>
|
||||
|
||||
<view class="item-bottom">
|
||||
<view class="account-default" @click="setDefault(item.id, item.is_default)">
|
||||
<text class="default">{{ $lang('setAsDefault') }}</text>
|
||||
<text class="default">{{ $lang('member.account.setAsDefault') }}</text>
|
||||
<switch v-if="item.is_default == 1" checked disabled style="transform:scale(0.7)"
|
||||
:color="themeStyle.main_color" />
|
||||
<switch v-else style="transform:scale(0.7)" :color="themeStyle.main_color" />
|
||||
@@ -52,14 +52,14 @@
|
||||
v-if="dataList.length <= 0 && (type != 'fenxiao' || (type == 'fenxiao' && payList && !payList.balance))"
|
||||
class="empty-box">
|
||||
<image :src="$util.img('public/uniapp/member/account/empty.png')" mode="widthFix" show-menu-by-longpress></image>
|
||||
<view class="tips">{{ $lang('emptyTip') }}</view>
|
||||
<button type="primary" class="add-account" @click="editAccount('add')">{{ $lang('newAddAccount')
|
||||
<view class="tips">{{ $lang('member.account.emptyTip') }}</view>
|
||||
<button type="primary" class="add-account" @click="editAccount('add')">{{ $lang('member.account.newAddAccount')
|
||||
}}</button>
|
||||
</view>
|
||||
</block>
|
||||
</mescroll-uni>
|
||||
<view class="btn-add" v-if="dataList.length > 0 || (type == 'fenxiao' && payList && payList.balance)">
|
||||
<button class="add-account" type="primary" @click="editAccount('add')">{{ $lang('newAddAccount') }}</button>
|
||||
<button class="add-account" type="primary" @click="editAccount('add')">{{ $lang('member.account.newAddAccount') }}</button>
|
||||
</view>
|
||||
<loading-cover ref="loadingCover"></loading-cover>
|
||||
<ns-login ref="login"></ns-login>
|
||||
@@ -101,8 +101,8 @@ export default {
|
||||
},
|
||||
deleteAccount(id) {
|
||||
uni.showModal({
|
||||
title: this.$lang('operationTip'),
|
||||
content: this.$lang('confirmDeleteAccount'),
|
||||
title: this.$lang('member.account.operationTip'),
|
||||
content: this.$lang('member.account.confirmDeleteAccount'),
|
||||
success: res => {
|
||||
if (res.confirm) {
|
||||
this.$api.sendRequest({
|
||||
@@ -113,12 +113,12 @@ export default {
|
||||
success: result => {
|
||||
if (result.code == 0) {
|
||||
this.$util.showToast({
|
||||
title: this.$lang('deleteSuccess')
|
||||
title: this.$lang('member.account.deleteSuccess')
|
||||
});
|
||||
this.$refs.mescroll.refresh();
|
||||
} else {
|
||||
this.$util.showToast({
|
||||
title: this.$lang('deleteFailed')
|
||||
title: this.$lang('member.account.deleteFailed')
|
||||
});
|
||||
}
|
||||
}
|
||||
@@ -179,9 +179,9 @@ export default {
|
||||
this.dataList = this.dataList.concat(newArr); //追加新数据
|
||||
|
||||
let withdrawType = {
|
||||
bank: this.$lang('withdrawTypeBank'),
|
||||
alipay: this.$lang('withdrawTypeAlipay'),
|
||||
wechatpay: this.$lang('withdrawTypeWechat')
|
||||
bank: this.$lang('member.account.withdrawTypeBank'),
|
||||
alipay: this.$lang('member.account.withdrawTypeAlipay'),
|
||||
wechatpay: this.$lang('member.account.withdrawTypeWechat')
|
||||
};
|
||||
|
||||
this.dataList.forEach(item => {
|
||||
|
||||
@@ -1,30 +1,30 @@
|
||||
<template>
|
||||
<view class="account-list-content" :style="themeColor">
|
||||
<view class="edit-item">
|
||||
<text class="tit">{{ $lang('name') }}</text>
|
||||
<input class="desc uni-input" type="text" maxlength="30" :placeholder="$lang('namePlaceholder')" name="name" v-model="formData.realname" />
|
||||
<text class="tit">{{ $lang('member.account_edit.name') }}</text>
|
||||
<input class="desc uni-input" type="text" maxlength="30" :placeholder="$lang('member.account_edit.namePlaceholder')" name="name" v-model="formData.realname" />
|
||||
</view>
|
||||
<view class="edit-item">
|
||||
<text class="tit">{{ $lang('mobilePhone') }}</text>
|
||||
<input class="desc uni-input" type="number" maxlength="11" :placeholder="$lang('mobilePhonePlaceholder')" v-model="formData.mobile" />
|
||||
<text class="tit">{{ $lang('member.account_edit.mobilePhone') }}</text>
|
||||
<input class="desc uni-input" type="number" maxlength="11" :placeholder="$lang('member.account_edit.mobilePhonePlaceholder')" v-model="formData.mobile" />
|
||||
</view>
|
||||
<view class="edit-item">
|
||||
<text class="tit">{{ $lang('accountType') }}</text>
|
||||
<text class="tit">{{ $lang('member.account_edit.accountType') }}</text>
|
||||
<picker @change="bindPickerChange" :value="index" :range="payList" class="picker">
|
||||
<text class="desc uni-input">{{ payList[index] }}</text>
|
||||
<text class="iconfont icon-right"></text>
|
||||
</picker>
|
||||
</view>
|
||||
<view class="edit-item" v-if="formData.withdraw_type == 'bank'">
|
||||
<text class="tit">{{ $lang('bankName') }}</text>
|
||||
<input class="desc uni-input" type="text" maxlength="50" :placeholder="$lang('bankNamePlaceholder')" v-model.trim="formData.branch_bank_name" />
|
||||
<text class="tit">{{ $lang('member.account_edit.bankName') }}</text>
|
||||
<input class="desc uni-input" type="text" maxlength="50" :placeholder="$lang('member.account_edit.bankNamePlaceholder')" v-model.trim="formData.branch_bank_name" />
|
||||
</view>
|
||||
<view class="edit-item" v-if="formData.withdraw_type != 'wechatpay'">
|
||||
<text class="tit">{{ $lang('withdrawalAccount') }}</text>
|
||||
<input class="desc uni-input" type="text" maxlength="30" :placeholder="$lang('withdrawalAccountPlaceholder')" v-model.trim="formData.bank_account" />
|
||||
<text class="tit">{{ $lang('member.account_edit.withdrawalAccount') }}</text>
|
||||
<input class="desc uni-input" type="text" maxlength="30" :placeholder="$lang('member.account_edit.withdrawalAccountPlaceholder')" v-model.trim="formData.bank_account" />
|
||||
</view>
|
||||
<view class="btn">
|
||||
<button type="primary" class="add" @click="saveAccount">{{ $lang('save') }}</button>
|
||||
<button type="primary" class="add" @click="saveAccount">{{ $lang('member.account_edit.save') }}</button>
|
||||
</view>
|
||||
<loading-cover ref="loadingCover"></loading-cover>
|
||||
</view>
|
||||
@@ -63,9 +63,9 @@ export default {
|
||||
this.getTransferType();
|
||||
}
|
||||
if (this.formData.id) {
|
||||
this.$langConfig.title(this.$lang('title'));
|
||||
this.$langConfig.title(this.$lang('member.account_edit.title'));
|
||||
} else {
|
||||
this.$langConfig.title(this.$lang('addTitle'));
|
||||
this.$langConfig.title(this.$lang('member.account_edit.addTitle'));
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
@@ -156,36 +156,36 @@ export default {
|
||||
{
|
||||
name: 'realname',
|
||||
checkType: 'required',
|
||||
errorMsg: this.$lang('pleaseEnterName')
|
||||
errorMsg: this.$lang('member.account_edit.pleaseEnterName')
|
||||
},
|
||||
{
|
||||
name: 'mobile',
|
||||
checkType: 'required',
|
||||
errorMsg: this.$lang('pleaseEnterMobile')
|
||||
errorMsg: this.$lang('member.account_edit.pleaseEnterMobile')
|
||||
},
|
||||
{
|
||||
name: 'mobile',
|
||||
checkType: 'phoneno',
|
||||
errorMsg: this.$lang('pleaseEnterValidMobile')
|
||||
errorMsg: this.$lang('member.account_edit.pleaseEnterValidMobile')
|
||||
},
|
||||
{
|
||||
name: 'withdraw_type',
|
||||
checkType: 'required',
|
||||
errorMsg: this.$lang('pleaseSelectAccountType')
|
||||
errorMsg: this.$lang('member.account_edit.pleaseSelectAccountType')
|
||||
}
|
||||
];
|
||||
if (this.formData.withdraw_type == 'bank') {
|
||||
rule.push({
|
||||
name: 'branch_bank_name',
|
||||
checkType: 'required',
|
||||
errorMsg: this.$lang('pleaseEnterBankName')
|
||||
errorMsg: this.$lang('member.account_edit.pleaseEnterBankName')
|
||||
});
|
||||
}
|
||||
if (this.formData.withdraw_type != 'wechatpay') {
|
||||
rule.push({
|
||||
name: 'bank_account',
|
||||
checkType: 'required',
|
||||
errorMsg: this.$lang('pleaseEnterWithdrawalAccount')
|
||||
errorMsg: this.$lang('member.account_edit.pleaseEnterWithdrawalAccount')
|
||||
});
|
||||
}
|
||||
var checkRes = validate.check(this.formData, rule);
|
||||
@@ -219,11 +219,11 @@ export default {
|
||||
if (res.code == 0) {
|
||||
if (!this.formData.id) {
|
||||
this.$util.showToast({
|
||||
title: this.$lang('addSuccess')
|
||||
title: this.$lang('member.account_edit.addSuccess')
|
||||
});
|
||||
} else {
|
||||
this.$util.showToast({
|
||||
title: this.$lang('editSuccess')
|
||||
title: this.$lang('member.account_edit.editSuccess')
|
||||
});
|
||||
}
|
||||
if (this.back != '') {
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
<view class="address-info">{{ item.full_address }}{{ item.address }}</view>
|
||||
</view>
|
||||
<view class="address-item-edit" @click="addAddress('edit', item.id)">
|
||||
{{ $lang('modify') }}
|
||||
{{ $lang('member.address.modify') }}
|
||||
</view>
|
||||
</view>
|
||||
|
||||
@@ -29,14 +29,14 @@
|
||||
<view class="address-info">{{ item.full_address }}{{ item.address }}</view>
|
||||
</view>
|
||||
<view class="address-item-edit" @click.stop="addAddress('edit', item.id)">
|
||||
{{ $lang('modify') }}
|
||||
{{ $lang('member.address.modify') }}
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="address-item-bottom">
|
||||
<view class="address-default" @click="setDefault(item.id, item.is_default)">
|
||||
<text class="default" v-if="localType == 2 && item.local_data">{{ $lang('setAsDefault') }}</text>
|
||||
<text class="default" v-else>{{ $lang('setAsDefault') }}</text>
|
||||
<text class="default" v-if="localType == 2 && item.local_data">{{ $lang('member.address.setAsDefault') }}</text>
|
||||
<text class="default" v-else>{{ $lang('member.address.setAsDefault') }}</text>
|
||||
<switch v-if="item.is_default == 1" checked disabled style="transform:scale(0.7)"
|
||||
:color="themeStyle.main_color" />
|
||||
<switch v-else style="transform:scale(0.7)" :color="themeStyle.main_color" />
|
||||
@@ -54,19 +54,19 @@
|
||||
|
||||
<view v-if="addressList.length == 0 && showEmpty" class="empty-box">
|
||||
<image :src="$util.img('public/uniapp/member/address/empty.png')" mode="widthFix" show-menu-by-longpress/>
|
||||
<view class="tips">{{ $lang('emptyTip') }}</view>
|
||||
<view class="tips">{{ $lang('member.address.emptyTip') }}</view>
|
||||
|
||||
<button type="primary" class="add-address" @click="addAddress('add')">{{ $lang('newAddAddress')
|
||||
<button type="primary" class="add-address" @click="addAddress('add')">{{ $lang('member.address.newAddAddress')
|
||||
}}</button>
|
||||
|
||||
<!-- #ifdef H5 -->
|
||||
<button type="primary" class="get-address" @click="getChooseAddress()"
|
||||
v-if="$util.isWeiXin() && local != 1">{{
|
||||
$lang('getAddress') }}</button>
|
||||
$lang('member.address.getAddress') }}</button>
|
||||
<!-- #endif -->
|
||||
<!-- #ifdef MP-WEIXIN || MP-BAIDU || MP-TOUTIAO -->
|
||||
<button type="primary" class="get-address" @click="getChooseAddress()" v-if="local != 1">{{
|
||||
$lang('getAddress')
|
||||
$lang('member.address.getAddress')
|
||||
}}</button>
|
||||
<!-- #endif -->
|
||||
</view>
|
||||
@@ -77,17 +77,17 @@
|
||||
<view class="btn-add" v-if="addressList.length !== 0">
|
||||
<!-- #ifdef MP-WEIXIN -->
|
||||
<view class="wx-add" @click="getChooseAddress()" v-if="local != 1">
|
||||
<text>{{ $lang('getAddress') }}</text>
|
||||
<text>{{ $lang('member.address.getAddress') }}</text>
|
||||
</view>
|
||||
<!-- #endif -->
|
||||
<!-- #ifdef H5 -->
|
||||
<button type="primary" class="add-address" @click="getChooseAddress()"
|
||||
v-if="$util.isWeiXin() && local != 1">{{
|
||||
$lang('getAddress') }}</button>
|
||||
$lang('member.address.getAddress') }}</button>
|
||||
<!-- #endif -->
|
||||
<button type="primary" class="add-address" @click="addAddress('add')">
|
||||
<text class="iconfont icon-add1"></text>
|
||||
{{ $lang('newAddAddress') }}
|
||||
{{ $lang('member.address.newAddAddress') }}
|
||||
</button>
|
||||
</view>
|
||||
|
||||
@@ -190,13 +190,13 @@ export default {
|
||||
/* 删除地址信息 */
|
||||
deleteAddress(id, is_default) {
|
||||
uni.showModal({
|
||||
title: this.$lang('operationTip'),
|
||||
content: this.$lang('confirmDelete'),
|
||||
title: this.$lang('member.address.operationTip'),
|
||||
content: this.$lang('member.address.confirmDelete'),
|
||||
success: res => {
|
||||
if (res.confirm) {
|
||||
if (is_default == 1) {
|
||||
this.$util.showToast({
|
||||
title: this.$lang('cannotDeleteDefault')
|
||||
title: this.$lang('member.address.cannotDeleteDefault')
|
||||
});
|
||||
return;
|
||||
}
|
||||
@@ -208,11 +208,11 @@ export default {
|
||||
success: res => {
|
||||
if (res.code == 0) {
|
||||
this.$util.showToast({
|
||||
title: this.$lang('deleteSuccess')
|
||||
title: this.$lang('member.address.deleteSuccess')
|
||||
});
|
||||
} else {
|
||||
this.$util.showToast({
|
||||
title: this.$lang('deleteFail')
|
||||
title: this.$lang('member.address.deleteFail')
|
||||
});
|
||||
}
|
||||
this.$refs.mescroll.refresh();
|
||||
@@ -242,7 +242,7 @@ export default {
|
||||
this.addressList = [];
|
||||
this.$refs.mescroll.refresh();
|
||||
this.$util.showToast({
|
||||
title: this.$lang('setDefaultSuccess')
|
||||
title: this.$lang('member.address.setDefaultSuccess')
|
||||
});
|
||||
}
|
||||
} else {
|
||||
@@ -288,7 +288,7 @@ export default {
|
||||
});
|
||||
} else {
|
||||
this.$util.showToast({
|
||||
title: res.errMsg == 'openAddress:function not implement' ? this.$lang('pcWechatNotSupportGetAddress') : res.errMsg
|
||||
title: res.errMsg == 'openAddress:function not implement' ? this.$lang('member.address.pcWechatNotSupportGetAddress') : res.errMsg
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
@@ -1,35 +1,35 @@
|
||||
<template>
|
||||
<view class="address-edit-content" :style="themeColor">
|
||||
<view class="edit-wrap">
|
||||
<view class="tip">{{ $lang('member.addressEdit.addressInfo') }}</view>
|
||||
<view class="tip">{{ $lang('member.address_edit.member.addressEdit.addressInfo') }}</view>
|
||||
<view class="edit-item">
|
||||
<text class="tit">
|
||||
{{ $lang('consignee') }}
|
||||
{{ $lang('member.address_edit.consignee') }}
|
||||
<text>*</text>
|
||||
</text>
|
||||
<input
|
||||
class="uni-input"
|
||||
type="text"
|
||||
placeholder-class="placeholder-class"
|
||||
:placeholder="$lang('consigneePlaceholder')"
|
||||
:placeholder="$lang('member.address_edit.consigneePlaceholder')"
|
||||
maxlength="30"
|
||||
name="name"
|
||||
v-model="formData.name" />
|
||||
</view>
|
||||
<view class="edit-item">
|
||||
<text class="tit">
|
||||
{{ $lang('mobile') }}
|
||||
{{ $lang('member.address_edit.mobile') }}
|
||||
<text>*</text>
|
||||
</text>
|
||||
<input class="uni-input" type="number" placeholder-class="placeholder-class" :placeholder="$lang('mobilePlaceholder')" maxlength="11" v-model="formData.mobile" />
|
||||
<input class="uni-input" type="number" placeholder-class="placeholder-class" :placeholder="$lang('member.address_edit.mobilePlaceholder')" maxlength="11" v-model="formData.mobile" />
|
||||
</view>
|
||||
<view class="edit-item">
|
||||
<text class="tit">{{ $lang('telephone') }}</text>
|
||||
<text class="tit">{{ $lang('member.address_edit.telephone') }}</text>
|
||||
<input
|
||||
class="uni-input"
|
||||
type="text"
|
||||
placeholder-class="placeholder-class"
|
||||
:placeholder="$lang('telephonePlaceholder')"
|
||||
:placeholder="$lang('member.address_edit.telephonePlaceholder')"
|
||||
maxlength="20"
|
||||
v-model="formData.telephone" />
|
||||
</view>
|
||||
@@ -37,11 +37,11 @@
|
||||
<block v-if="localType == 2">
|
||||
<view class="edit-item">
|
||||
<text class="tit">
|
||||
{{ $lang('receivingCity') }}
|
||||
{{ $lang('member.address_edit.receivingCity') }}
|
||||
<text>*</text>
|
||||
</text>
|
||||
<view class="text_inp" :class="{ empty: !formData.full_address, 'color-tip': !formData.full_address }" @click="selectAddress">
|
||||
{{ formData.full_address ? formData.full_address : $lang('member.addressEdit.selectRegionPlaceholder') }}
|
||||
{{ formData.full_address ? formData.full_address : $lang('member.address_edit.member.addressEdit.selectRegionPlaceholder') }}
|
||||
</view>
|
||||
|
||||
<text @click="selectAddress" class="padding-left iconfont icon-location"></text>
|
||||
@@ -50,12 +50,12 @@
|
||||
<block v-else>
|
||||
<view class="edit-item">
|
||||
<text class="tit">
|
||||
{{ $lang('receivingCity') }}
|
||||
{{ $lang('member.address_edit.receivingCity') }}
|
||||
<text>*</text>
|
||||
</text>
|
||||
<pick-regions :default-regions="defaultRegions" @getRegions="handleGetRegions">
|
||||
<text class="select-address " :class="{ empty: !formData.full_address, 'color-tip': !formData.full_address }">
|
||||
{{ formData.full_address ? formData.full_address : $lang('member.addressEdit.selectRegionPlaceholder') }}
|
||||
{{ formData.full_address ? formData.full_address : $lang('member.address_edit.member.addressEdit.selectRegionPlaceholder') }}
|
||||
</text>
|
||||
</pick-regions>
|
||||
</view>
|
||||
@@ -63,15 +63,15 @@
|
||||
|
||||
<view class="edit-item">
|
||||
<text class="tit" style="">
|
||||
{{ $lang('address') }}
|
||||
{{ $lang('member.address_edit.address') }}
|
||||
<text>*</text>
|
||||
</text>
|
||||
<input class="uni-input" type="text" placeholder-class="placeholder-class" :placeholder="$lang('addressPlaceholder')" maxlength="50" v-model="formData.address" />
|
||||
<!-- <textarea class="uni-input " type="text" placeholder-class="placeholder-class" :placeholder="$lang('addressPlaceholder')" maxlength="50" v-model="formData.address" ></textarea> -->
|
||||
<input class="uni-input" type="text" placeholder-class="placeholder-class" :placeholder="$lang('member.address_edit.addressPlaceholder')" maxlength="50" v-model="formData.address" />
|
||||
<!-- <textarea class="uni-input " type="text" placeholder-class="placeholder-class" :placeholder="$lang('member.address_edit.addressPlaceholder')" maxlength="50" v-model="formData.address" ></textarea> -->
|
||||
</view>
|
||||
</view>
|
||||
<view class="btn">
|
||||
<button type="primary" class="add" @click="saveAddress">{{ $lang('save') }}</button>
|
||||
<button type="primary" class="add" @click="saveAddress">{{ $lang('member.address_edit.save') }}</button>
|
||||
</view>
|
||||
|
||||
<loading-cover ref="loadingCover"></loading-cover>
|
||||
@@ -134,9 +134,9 @@
|
||||
},
|
||||
onShow() {
|
||||
if (this.formData.id) {
|
||||
this.$langConfig.title(this.$lang('title'));
|
||||
this.$langConfig.title(this.$lang('member.address_edit.title'));
|
||||
} else {
|
||||
this.$langConfig.title(this.$lang('addTitle'));
|
||||
this.$langConfig.title(this.$lang('member.address_edit.addTitle'));
|
||||
}
|
||||
},
|
||||
onReady() {
|
||||
@@ -193,7 +193,7 @@
|
||||
this.addressValue += res.data.district_id != undefined ? '-' + res.data.district_id : '';
|
||||
} else {
|
||||
this.showToast({
|
||||
title: this.$lang('member.addressEdit.dataError')
|
||||
title: this.$lang('member.address_edit.member.addressEdit.dataError')
|
||||
});
|
||||
}
|
||||
}
|
||||
@@ -292,27 +292,27 @@
|
||||
var rule = [{
|
||||
name: 'name',
|
||||
checkType: 'required',
|
||||
errorMsg: this.$lang('member.addressEdit.pleaseEnterName')
|
||||
errorMsg: this.$lang('member.address_edit.member.addressEdit.pleaseEnterName')
|
||||
},
|
||||
{
|
||||
name: 'mobile',
|
||||
checkType: 'required',
|
||||
errorMsg: this.$lang('member.addressEdit.pleaseEnterMobile')
|
||||
errorMsg: this.$lang('member.address_edit.member.addressEdit.pleaseEnterMobile')
|
||||
},
|
||||
{
|
||||
name: 'mobile',
|
||||
checkType: 'phoneno',
|
||||
errorMsg: this.$lang('member.addressEdit.pleaseEnterValidMobile')
|
||||
errorMsg: this.$lang('member.address_edit.member.addressEdit.pleaseEnterValidMobile')
|
||||
},
|
||||
{
|
||||
name: 'full_address',
|
||||
checkType: 'required',
|
||||
errorMsg: this.$lang('member.addressEdit.pleaseSelectRegion')
|
||||
errorMsg: this.$lang('member.address_edit.member.addressEdit.pleaseSelectRegion')
|
||||
},
|
||||
{
|
||||
name: 'address',
|
||||
checkType: 'required',
|
||||
errorMsg: this.$lang('member.addressEdit.addressRequired')
|
||||
errorMsg: this.$lang('member.address_edit.member.addressEdit.addressRequired')
|
||||
}
|
||||
];
|
||||
var checkRes = validate.check(this.formData, rule);
|
||||
|
||||
@@ -60,10 +60,10 @@
|
||||
|
||||
<!-- <view class="action">
|
||||
<view @click="toList" class="recharge-withdraw" v-if="addonIsExist.memberrecharge && memberrechargeConfig && memberrechargeConfig.is_use">
|
||||
{{ $lang('recharge') }}
|
||||
{{ $lang('member.balance.recharge') }}
|
||||
</view>
|
||||
<view class="withdraw" v-if="addonIsExist.memberwithdraw && withdrawConfig && withdrawConfig.is_use" @click="toWithdrawal">
|
||||
{{ $lang('withdrawal') }}
|
||||
{{ $lang('member.balance.withdrawal') }}
|
||||
</view>
|
||||
</view> -->
|
||||
<ns-login ref="login"></ns-login>
|
||||
|
||||
@@ -38,12 +38,12 @@
|
||||
</view>
|
||||
<view class="balances-num">
|
||||
<text :class="item.account_data > 0 ? 'color-base-text' : ''">{{ (item.account_data > 0 ?
|
||||
'+' + item.account_data : item.account_data) + $lang('yuan') }}</text>
|
||||
'+' + item.account_data : item.account_data) + $lang('member.balance_detail.yuan') }}</text>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</block>
|
||||
<block v-else><ns-empty :isIndex="false" :text="$lang('emptyTips')"></ns-empty></block>
|
||||
<block v-else><ns-empty :isIndex="false" :text="$lang('member.balance_detail.emptyTips')"></ns-empty></block>
|
||||
<!-- 无明细列表 -->
|
||||
</block>
|
||||
</mescroll-uni>
|
||||
@@ -62,13 +62,13 @@ export default {
|
||||
return {
|
||||
dataList: [],
|
||||
statusList: [{
|
||||
name: this.$lang('filterAll'),
|
||||
name: this.$lang('member.balance_detail.filterAll'),
|
||||
id: '0'
|
||||
}, {
|
||||
name: this.$lang('filterIncome'),
|
||||
name: this.$lang('member.balance_detail.filterIncome'),
|
||||
id: '1'
|
||||
}, {
|
||||
name: this.$lang('filterExpense'),
|
||||
name: this.$lang('member.balance_detail.filterExpense'),
|
||||
id: '2'
|
||||
}],
|
||||
scrollInto: '',
|
||||
@@ -79,7 +79,7 @@ export default {
|
||||
date: ''
|
||||
},
|
||||
balanceType: [{
|
||||
label: this.$lang('filterAll'),
|
||||
label: this.$lang('member.balance_detail.filterAll'),
|
||||
value: '0'
|
||||
}], //积分类型
|
||||
balanceIndex: 0,
|
||||
@@ -103,7 +103,7 @@ export default {
|
||||
bindDateChange: function (e) {
|
||||
var temp = e.target.value;
|
||||
var tempArr = temp.split('-');
|
||||
this.date = this.$lang('dateFormatYM', { year: tempArr[0], month: tempArr[1] });
|
||||
this.date = this.$lang('member.balance_detail.dateFormatYM', { year: tempArr[0], month: tempArr[1] });
|
||||
this.searchType.date = e.target.value;
|
||||
this.$refs.mescroll.refresh();
|
||||
},
|
||||
@@ -120,7 +120,7 @@ export default {
|
||||
}
|
||||
month = month > 9 ? month : '0' + month;
|
||||
day = day > 9 ? day : '0' + day;
|
||||
return this.$lang('dateFormatYM', { year, month });
|
||||
return this.$lang('member.balance_detail.dateFormatYM', { year, month });
|
||||
},
|
||||
bindPickerChange(e) {
|
||||
this.balanceIndex = e.detail.value;
|
||||
@@ -134,7 +134,7 @@ export default {
|
||||
success: res => {
|
||||
let balanceType = Object.assign(res.balance, res.balance_money),
|
||||
typeArr = [{
|
||||
label: this.$lang('filterAll'),
|
||||
label: this.$lang('member.balance_detail.filterAll'),
|
||||
value: '0'
|
||||
}];
|
||||
for (var index in balanceType) {
|
||||
|
||||
@@ -5,14 +5,14 @@
|
||||
<!-- #ifdef MP -->
|
||||
<view v-if="!showManualForm" class="bind-wrap">
|
||||
<view class="bind-tip">
|
||||
<view class="tip-title">{{ $lang('bindMobile.tipTitle') }}</view>
|
||||
<view class="tip-desc">{{ $lang('bindMobile.bindBenefitTip') }}</view>
|
||||
<view class="tip-title">{{ $lang('member.bind_mobile.tipTitle') }}</view>
|
||||
<view class="tip-desc">{{ $lang('member.bind_mobile.bindBenefitTip') }}</view>
|
||||
</view>
|
||||
<view class="save-item bind-mobile">
|
||||
<button type="primary" open-type="getPhoneNumber" @getphonenumber="mobileAuth">{{ $lang('bindMobile.oneClickAuthBind') }}</button>
|
||||
<button type="primary" open-type="getPhoneNumber" @getphonenumber="mobileAuth">{{ $lang('member.bind_mobile.oneClickAuthBind') }}</button>
|
||||
</view>
|
||||
<view class="save-item bind-mobile">
|
||||
<button type="primary" @click="showManualForm = true">{{ $lang('bindMobile.manualBind') }}</button>
|
||||
<button type="primary" @click="showManualForm = true">{{ $lang('member.bind_mobile.manualBind') }}</button>
|
||||
</view>
|
||||
</view>
|
||||
<!-- #endif -->
|
||||
@@ -21,25 +21,25 @@
|
||||
<view class="edit-info">
|
||||
<!-- #ifdef MP -->
|
||||
<view v-if="showManualForm" class="form-switch-back" @click="showManualForm = false">
|
||||
<text>{{ $lang('bindMobile.oneClickAuthBind') }}</text>
|
||||
<text>{{ $lang('member.bind_mobile.oneClickAuthBind') }}</text>
|
||||
</view>
|
||||
<!-- #endif -->
|
||||
<view class="edit-info-box">
|
||||
<text class="info-name">{{ $lang('bindMobile.phoneNumber') }}</text>
|
||||
<input class="uni-input info-content" type="number" maxlength="11" :placeholder="$lang('bindMobile.pleInputMobile')" v-model="formData.mobile" />
|
||||
<text class="info-name">{{ $lang('member.bind_mobile.phoneNumber') }}</text>
|
||||
<input class="uni-input info-content" type="number" maxlength="11" :placeholder="$lang('member.bind_mobile.pleInputMobile')" v-model="formData.mobile" />
|
||||
</view>
|
||||
<view class="edit-info-box">
|
||||
<text class="info-name">{{ $lang('bindMobile.confirmCode') }}</text>
|
||||
<input class="uni-input info-content" type="number" maxlength="4" :placeholder="$lang('bindMobile.confirmCodeInput')" v-model="formData.mobileVercode" />
|
||||
<text class="info-name">{{ $lang('member.bind_mobile.confirmCode') }}</text>
|
||||
<input class="uni-input info-content" type="number" maxlength="4" :placeholder="$lang('member.bind_mobile.confirmCodeInput')" v-model="formData.mobileVercode" />
|
||||
<image :src="captcha.img" class="captcha" @click="getCaptcha" show-menu-by-longpress></image>
|
||||
</view>
|
||||
<view class="edit-info-box">
|
||||
<text class="info-name">{{ $lang('bindMobile.smsCode') }}</text>
|
||||
<input class="uni-input info-content" type="number" maxlength="6" :placeholder="$lang('bindMobile.animateCodeInput')" v-model="formData.mobileDynacode" />
|
||||
<text class="info-name">{{ $lang('member.bind_mobile.smsCode') }}</text>
|
||||
<input class="uni-input info-content" type="number" maxlength="6" :placeholder="$lang('member.bind_mobile.animateCodeInput')" v-model="formData.mobileDynacode" />
|
||||
<button type="primary" class="dynacode" @click="bindMoblieCode()">{{ formData.mobileCodeText }}</button>
|
||||
</view>
|
||||
<view class="save-item" @click="bindMobile">
|
||||
<button type="primary">{{ $lang('bindMobile.save') }}</button>
|
||||
<button type="primary">{{ $lang('member.bind_mobile.save') }}</button>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
@@ -72,7 +72,7 @@
|
||||
},
|
||||
mixins: [auth],
|
||||
onLoad() {
|
||||
this.formData.mobileCodeText = this.$lang('bindMobile.findanimateCode');
|
||||
this.formData.mobileCodeText = this.$lang('member.bind_mobile.findanimateCode');
|
||||
this.getCaptcha();
|
||||
// #ifdef MP-WEIXIN
|
||||
this.getCode();
|
||||
@@ -86,7 +86,7 @@
|
||||
},
|
||||
onHide() {
|
||||
this.seconds = 120;
|
||||
this.formData.mobileCodeText = this.$lang('bindMobile.findanimateCode');
|
||||
this.formData.mobileCodeText = this.$lang('member.bind_mobile.findanimateCode');
|
||||
this.isSend = false;
|
||||
clearInterval(this.timer);
|
||||
},
|
||||
@@ -94,7 +94,7 @@
|
||||
seconds(value) {
|
||||
if (value == 0) {
|
||||
this.seconds = 120;
|
||||
this.formData.mobileCodeText = this.$lang('bindMobile.findanimateCode');
|
||||
this.formData.mobileCodeText = this.$lang('member.bind_mobile.findanimateCode');
|
||||
this.isSend = false;
|
||||
clearInterval(this.timer);
|
||||
}
|
||||
@@ -135,11 +135,11 @@
|
||||
var rule = [{
|
||||
name: 'mobile',
|
||||
checkType: 'required',
|
||||
errorMsg: this.$lang('bindMobile.pleInputMobile')
|
||||
errorMsg: this.$lang('member.bind_mobile.pleInputMobile')
|
||||
}, {
|
||||
name: 'mobile',
|
||||
checkType: 'phoneno',
|
||||
errorMsg: this.$lang('bindMobile.surePhoneNumber')
|
||||
errorMsg: this.$lang('member.bind_mobile.surePhoneNumber')
|
||||
}];
|
||||
var checkRes = validate.check(this.formData, rule);
|
||||
if (!checkRes) {
|
||||
@@ -156,12 +156,12 @@
|
||||
var rule = [{
|
||||
name: 'mobile',
|
||||
checkType: 'phoneno',
|
||||
errorMsg: this.$lang('bindMobile.surePhoneNumber')
|
||||
errorMsg: this.$lang('member.bind_mobile.surePhoneNumber')
|
||||
},
|
||||
{
|
||||
name: 'mobileVercode',
|
||||
checkType: 'required',
|
||||
errorMsg: this.$lang('bindMobile.confirmCodeInput')
|
||||
errorMsg: this.$lang('member.bind_mobile.confirmCodeInput')
|
||||
},
|
||||
];
|
||||
|
||||
@@ -182,7 +182,7 @@
|
||||
if (this.seconds == 120 && this.timer == null) {
|
||||
this.timer = setInterval(() => {
|
||||
this.seconds--;
|
||||
this.formData.mobileCodeText = this.$lang('bindMobile.codeSent', { seconds: this.seconds });
|
||||
this.formData.mobileCodeText = this.$lang('member.bind_mobile.codeSent', { seconds: this.seconds });
|
||||
}, 1000);
|
||||
}
|
||||
uni.setStorageSync('mobile_key', data.key);
|
||||
@@ -200,7 +200,7 @@
|
||||
});
|
||||
} else {
|
||||
this.$util.showToast({
|
||||
title: validate.error ? validate.error : this.$lang('bindMobile.doNotRepeatedlyClick')
|
||||
title: validate.error ? validate.error : this.$lang('member.bind_mobile.doNotRepeatedlyClick')
|
||||
});
|
||||
}
|
||||
},
|
||||
@@ -211,12 +211,12 @@
|
||||
var mobileRule = [{
|
||||
name: 'mobileVercode',
|
||||
checkType: 'required',
|
||||
errorMsg: this.$lang('bindMobile.confirmCodeInput')
|
||||
errorMsg: this.$lang('member.bind_mobile.confirmCodeInput')
|
||||
},
|
||||
{
|
||||
name: 'mobileDynacode',
|
||||
checkType: 'required',
|
||||
errorMsg: this.$lang('bindMobile.animateCodeInput')
|
||||
errorMsg: this.$lang('member.bind_mobile.animateCodeInput')
|
||||
},
|
||||
];
|
||||
var checkRes = validate.check(this.formData, mobileRule);
|
||||
@@ -224,7 +224,7 @@
|
||||
if (checkRes) {
|
||||
if (this.memberInfo.mobile && this.formData.mobile == this.memberInfo.mobile) {
|
||||
this.$util.showToast({
|
||||
title: this.$lang('bindMobile.alikePhone')
|
||||
title: this.$lang('member.bind_mobile.alikePhone')
|
||||
});
|
||||
return;
|
||||
}
|
||||
@@ -242,7 +242,7 @@
|
||||
this.memberInfo.mobile = this.formData.mobile;
|
||||
this.$store.commit('setMemberInfo', this.memberInfo);
|
||||
this.$util.showToast({
|
||||
title: this.$lang('bindMobile.bindSuccess')
|
||||
title: this.$lang('member.bind_mobile.bindSuccess')
|
||||
});
|
||||
uni.navigateBack({
|
||||
delta: 1
|
||||
@@ -278,7 +278,7 @@
|
||||
success: res => {
|
||||
if (res.code == 0) {
|
||||
this.$util.showToast({
|
||||
title: this.$lang('bindMobile.bindSuccess')
|
||||
title: this.$lang('member.bind_mobile.bindSuccess')
|
||||
});
|
||||
uni.navigateBack({
|
||||
delta: 1
|
||||
|
||||
@@ -10,9 +10,9 @@
|
||||
<view class="align-center agreement-btn-select">
|
||||
<text v-if="isSelect" class="iconfont icon-dui color-base-text" @click="changeSelect"></text>
|
||||
<text v-else class="iconfont icon-yuan_checkbox" @click="changeSelect"></text>
|
||||
<text class="agreement-text" @click="changeSelect">{{ $lang('agreeTermsText') }}</text>
|
||||
<text class="agreement-text" @click="changeSelect">{{ $lang('member.cancellation.agreeTermsText') }}</text>
|
||||
</view>
|
||||
<button class="btn color-base-bg" @click="next">{{ $lang('nextStep') }}</button>
|
||||
<button class="btn color-base-bg" @click="next">{{ $lang('member.cancellation.nextStep') }}</button>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
@@ -60,7 +60,7 @@ export default {
|
||||
this.$util.redirectTo('/pages_tool/member/assets');
|
||||
} else {
|
||||
this.$util.showToast({
|
||||
title: this.$lang('pleaseAgreeFirst')
|
||||
title: this.$lang('member.cancellation.pleaseAgreeFirst')
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,10 +3,10 @@
|
||||
<view class="cancel-wrap">
|
||||
<view class="cancel-img"><image :src="$util.img('public/uniapp/member/refuse.png')" show-menu-by-longpress></image></view>
|
||||
<view class="cancel-title">{{ $lang('member.cancelrefuse.title') }}</view>
|
||||
<view class="cancel-reason">{{ $lang('member.cancelrefuse.reasonPrefix') }}{{ reason }}</view>
|
||||
<view class="cancel-reason">{{ $lang('member.cancelrefuse.cancelrefuse.reasonPrefix') }}{{ reason }}</view>
|
||||
<view class="cancel-btn">
|
||||
<button type="primary" @click="toIndex">{{ $lang('member.cancelrefuse.back') }}</button>
|
||||
<button class="color-base-bg" @click="apply">{{ $lang('member.cancelrefuse.reapply') }}</button>
|
||||
<button type="primary" @click="toIndex">{{ $lang('member.cancelrefuse.cancelrefuse.back') }}</button>
|
||||
<button class="color-base-bg" @click="apply">{{ $lang('member.cancelrefuse.cancelrefuse.reapply') }}</button>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
<image :src="$util.img('public/uniapp/member/success.png')" show-menu-by-longpress></image>
|
||||
</view>
|
||||
<view class="cancel-title">{{ $lang('member.cancelsuccess.title') }}</view>
|
||||
<view class="cancel-reason">{{ $lang('member.cancelsuccess.desc') }}</view>
|
||||
<view class="cancel-btn"><button class="color-base-bg" @click="success">{{ $lang('member.cancelsuccess.done') }}</button></view>
|
||||
<view class="cancel-reason">{{ $lang('member.cancelsuccess.cancelsuccess.desc') }}</view>
|
||||
<view class="cancel-btn"><button class="color-base-bg" @click="success">{{ $lang('member.cancelsuccess.cancelsuccess.done') }}</button></view>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
<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">
|
||||
{{ $lang('validUntil') }}{{ $util.timeStampTurnTime(memberInfo.level_expire_time, true) }}</view>
|
||||
{{ $lang('member.card.validUntil') }}{{ $util.timeStampTurnTime(memberInfo.level_expire_time, true) }}</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
@@ -21,14 +21,14 @@
|
||||
<image :src="$util.img('public/uniapp/level/card-bg.png')"></image>
|
||||
<view class="info">
|
||||
<view class="level-detail">{{ levelInfo.level_name }}</view>
|
||||
<view class="growr-name">{{ levelInfo.level_name }}{{ $lang('enjoyDiscountAnd') }}</view>
|
||||
<view class="growr-value">{{ $lang('memberGiftBenefits') }}</view>
|
||||
<view class="growr-name">{{ levelInfo.level_name }}{{ $lang('member.card.enjoyDiscountAnd') }}</view>
|
||||
<view class="growr-value">{{ $lang('member.card.memberGiftBenefits') }}</view>
|
||||
<view class="growth-rules font-size-tag" @click="openExplainPopup"
|
||||
v-if="levelInfo.remark != ''">
|
||||
<text class="iconfont icon-wenhao font-size-tag"></text>
|
||||
</view>
|
||||
<button type="default" class="renew-btn"
|
||||
@click="$util.redirectTo('/pages_tool/member/card_buy')">{{ $lang('renewNow') }}</button>
|
||||
@click="$util.redirectTo('/pages_tool/member/card_buy')">{{ $lang('member.card.renewNow') }}</button>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
@@ -39,7 +39,7 @@
|
||||
<view class="line-box">
|
||||
<view class="line right"></view>
|
||||
</view>
|
||||
<view class="card-content-title">{{ $lang('memberBenefits') }}</view>
|
||||
<view class="card-content-title">{{ $lang('member.card.memberBenefits') }}</view>
|
||||
<view class="line-box">
|
||||
<view class="line"></view>
|
||||
</view>
|
||||
@@ -49,18 +49,18 @@
|
||||
<view class="card-privilege-item" v-if="levelInfo.is_free_shipping">
|
||||
<view class="card-privilege-icon"><text class="iconfont icon-tedianquanchangbaoyou"></text>
|
||||
</view>
|
||||
<view class="card-privilege-name">{{ $lang('freeShipping') }}</view>
|
||||
<view class="card-privilege-text">{{ $lang('enjoyFreeShipping') }}</view>
|
||||
<view class="card-privilege-name">{{ $lang('member.card.freeShipping') }}</view>
|
||||
<view class="card-privilege-text">{{ $lang('member.card.enjoyFreeShipping') }}</view>
|
||||
</view>
|
||||
<view class="card-privilege-item" v-if="levelInfo.consume_discount < 100">
|
||||
<view class="card-privilege-icon"><text class="iconfont icon-zhekou"></text></view>
|
||||
<view class="card-privilege-name">{{ $lang('consumptionDiscount') }}</view>
|
||||
<view class="card-privilege-text">{{ $lang('enjoyDiscountOnSomeProducts', { discount: levelInfo.consume_discount / 10 }) }}</view>
|
||||
<view class="card-privilege-name">{{ $lang('member.card.consumptionDiscount') }}</view>
|
||||
<view class="card-privilege-text">{{ $lang('member.card.enjoyDiscountOnSomeProducts', { discount: levelInfo.consume_discount / 10 }) }}</view>
|
||||
</view>
|
||||
<view class="card-privilege-item" v-if="levelInfo.point_feedback > 0">
|
||||
<view class="card-privilege-icon"><text class="iconfont icon-jifen2 f32"></text></view>
|
||||
<view class="card-privilege-name">{{ $lang('pointsReward') }}</view>
|
||||
<view class="card-privilege-text">{{ $lang('earnPointsMultiplier', { multiplier: parseFloat(levelInfo.point_feedback) }) }}</view>
|
||||
<view class="card-privilege-name">{{ $lang('member.card.pointsReward') }}</view>
|
||||
<view class="card-privilege-text">{{ $lang('member.card.earnPointsMultiplier', { multiplier: parseFloat(levelInfo.point_feedback) }) }}</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
@@ -69,7 +69,7 @@
|
||||
<view class="line-box">
|
||||
<view class="line right"></view>
|
||||
</view>
|
||||
<view class="card-content-title">{{ $lang('welcomeGift') }}</view>
|
||||
<view class="card-content-title">{{ $lang('member.card.welcomeGift') }}</view>
|
||||
<view class="line-box">
|
||||
<view class="line"></view>
|
||||
</view>
|
||||
@@ -78,18 +78,18 @@
|
||||
<view class="card-privilege-list">
|
||||
<view class="card-privilege-item" v-if="levelInfo.send_point > 0">
|
||||
<view class="card-privilege-icon"><text class="iconfont icon-jifen3"></text></view>
|
||||
<view class="card-privilege-name">{{ $lang('pointsGift') }}</view>
|
||||
<view class="card-privilege-text">{{ $lang('giftPoints', { points: levelInfo.send_point }) }}</view>
|
||||
<view class="card-privilege-name">{{ $lang('member.card.pointsGift') }}</view>
|
||||
<view class="card-privilege-text">{{ $lang('member.card.giftPoints', { points: levelInfo.send_point }) }}</view>
|
||||
</view>
|
||||
<view class="card-privilege-item" v-if="levelInfo.send_balance > 0">
|
||||
<view class="card-privilege-icon"><text class="iconfont icon-hongbao"></text></view>
|
||||
<view class="card-privilege-name">{{ $lang('redPacketGift') }}</view>
|
||||
<view class="card-privilege-text">{{ $lang('giftRedPacket', { amount: parseFloat(levelInfo.send_balance) }) }}</view>
|
||||
<view class="card-privilege-name">{{ $lang('member.card.redPacketGift') }}</view>
|
||||
<view class="card-privilege-text">{{ $lang('member.card.giftRedPacket', { amount: parseFloat(levelInfo.send_balance) }) }}</view>
|
||||
</view>
|
||||
<view class="card-privilege-item" v-if="levelInfo.send_coupon != ''">
|
||||
<view class="card-privilege-icon"><text class="iconfont icon-youhuiquan1"></text></view>
|
||||
<view class="card-privilege-name">{{ $lang('couponGift') }}</view>
|
||||
<view class="card-privilege-text">{{ $lang('giftCoupons', { count: levelInfo.send_coupon.split(',').length }) }}</view>
|
||||
<view class="card-privilege-name">{{ $lang('member.card.couponGift') }}</view>
|
||||
<view class="card-privilege-text">{{ $lang('member.card.giftCoupons', { count: levelInfo.send_coupon.split(',').length }) }}</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
@@ -101,13 +101,13 @@
|
||||
<uni-popup ref="explainPopup" type="bottom">
|
||||
<view class="tips-layer">
|
||||
<view class="head" @click="closeExplainPopup()">
|
||||
<view class="title">{{ $lang('cardDescription') }}</view>
|
||||
<view class="title">{{ $lang('member.card.cardDescription') }}</view>
|
||||
<text class="iconfont icon-close"></text>
|
||||
</view>
|
||||
<view class="body">
|
||||
<view class="detail margin-bottom">
|
||||
<block v-if="levelInfo.remark != ''">
|
||||
<view class="tip">{{ $lang('cardDescription') }}</view>
|
||||
<view class="tip">{{ $lang('member.card.cardDescription') }}</view>
|
||||
<view class="font-size-base">{{ levelInfo.remark }}</view>
|
||||
</block>
|
||||
</view>
|
||||
@@ -167,11 +167,11 @@ export default {
|
||||
// 如果后台没配置,用默认值
|
||||
this.mpShareData = {
|
||||
appMessage: {
|
||||
title: this.$lang('shareTitle'),
|
||||
title: this.$lang('member.card.shareTitle'),
|
||||
path: '/pages_tool/member/card'
|
||||
},
|
||||
timeLine: {
|
||||
title: this.$lang('shareTitle'),
|
||||
title: this.$lang('member.card.shareTitle'),
|
||||
query: '/pages_tool/member/card'
|
||||
}
|
||||
};
|
||||
@@ -204,19 +204,19 @@ export default {
|
||||
},
|
||||
onShareAppMessage() {
|
||||
return this.mpShareData?.appMessage || {
|
||||
title: this.$lang('shareTitle'),
|
||||
title: this.$lang('member.card.shareTitle'),
|
||||
path: '/pages_tool/member/card'
|
||||
};
|
||||
},
|
||||
onShareTimeline() {
|
||||
return this.mpShareData?.timeLine || {
|
||||
title: this.$lang('shareTitle'),
|
||||
title: this.$lang('member.card.shareTitle'),
|
||||
query: '/pages_tool/member/card'
|
||||
};
|
||||
},
|
||||
onAddToFavorites() {
|
||||
return {
|
||||
title: this.$lang('shareTitle'),
|
||||
title: this.$lang('member.card.shareTitle'),
|
||||
path: '/pages_tool/member/card'
|
||||
};
|
||||
}
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
<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">
|
||||
{{ $lang('validUntil') }}{{ $util.timeStampTurnTime(memberInfo.level_expire_time, true) }}
|
||||
{{ $lang('member.card_buy.validUntil') }}{{ $util.timeStampTurnTime(memberInfo.level_expire_time, true) }}
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
@@ -60,9 +60,9 @@
|
||||
<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 }}{{ $lang('enjoyDiscountAnd') }}</view>
|
||||
levelList[curIndex].level_name }}{{ $lang('member.card_buy.enjoyDiscountAnd') }}</view>
|
||||
<view class="growr-value" :style="{ color: levelList[curIndex]['level_text_color'] }">
|
||||
{{ $lang('memberGiftBenefits') }}</view>
|
||||
{{ $lang('member.card_buy.memberGiftBenefits') }}</view>
|
||||
<view class="growth-rules font-size-tag" @click="openExplainPopup"
|
||||
v-if="levelList[curIndex].remark != ''">
|
||||
<text class="iconfont icon-wenhao font-size-tag"></text>
|
||||
@@ -78,7 +78,7 @@
|
||||
<view class="line-box">
|
||||
<view class="line right"></view>
|
||||
</view>
|
||||
<view class="card-content-title">{{ $lang('cardTypeSelection') }}</view>
|
||||
<view class="card-content-title">{{ $lang('member.card_buy.cardTypeSelection') }}</view>
|
||||
<view class="line-box">
|
||||
<view class="line"></view>
|
||||
</view>
|
||||
@@ -107,7 +107,7 @@
|
||||
<view class="line-box">
|
||||
<view class="line right"></view>
|
||||
</view>
|
||||
<view class="card-content-title">{{ $lang('memberBenefits') }}</view>
|
||||
<view class="card-content-title">{{ $lang('member.card_buy.memberBenefits') }}</view>
|
||||
<view class="line-box">
|
||||
<view class="line"></view>
|
||||
</view>
|
||||
@@ -118,18 +118,18 @@
|
||||
<view class="card-privilege-icon">
|
||||
<text class="iconfont icon-tedianquanchangbaoyou"></text>
|
||||
</view>
|
||||
<view class="card-privilege-name">{{ $lang('freeShipping') }}</view>
|
||||
<view class="card-privilege-text">{{ $lang('enjoyFreeShipping') }}</view>
|
||||
<view class="card-privilege-name">{{ $lang('member.card_buy.freeShipping') }}</view>
|
||||
<view class="card-privilege-text">{{ $lang('member.card_buy.enjoyFreeShipping') }}</view>
|
||||
</view>
|
||||
<view class="card-privilege-item" v-if="currCard.consume_discount < 100">
|
||||
<view class="card-privilege-icon"><text class="iconfont icon-zhekou"></text></view>
|
||||
<view class="card-privilege-name">{{ $lang('consumptionDiscount') }}</view>
|
||||
<view class="card-privilege-text">{{ $lang('enjoyDiscountOnSomeProducts', { discount: currCard.consume_discount / 10 }) }}</view>
|
||||
<view class="card-privilege-name">{{ $lang('member.card_buy.consumptionDiscount') }}</view>
|
||||
<view class="card-privilege-text">{{ $lang('member.card_buy.enjoyDiscountOnSomeProducts', { discount: currCard.consume_discount / 10 }) }}</view>
|
||||
</view>
|
||||
<view class="card-privilege-item" v-if="currCard.point_feedback > 0">
|
||||
<view class="card-privilege-icon"><text class="iconfont icon-jifen2 f32"></text></view>
|
||||
<view class="card-privilege-name">{{ $lang('pointsReward') }}</view>
|
||||
<view class="card-privilege-text">{{ $lang('earnPointsMultiplier', { multiplier: parseFloat(currCard.point_feedback) }) }}</view>
|
||||
<view class="card-privilege-name">{{ $lang('member.card_buy.pointsReward') }}</view>
|
||||
<view class="card-privilege-text">{{ $lang('member.card_buy.earnPointsMultiplier', { multiplier: parseFloat(currCard.point_feedback) }) }}</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
@@ -138,7 +138,7 @@
|
||||
<view class="line-box">
|
||||
<view class="line right"></view>
|
||||
</view>
|
||||
<view class="card-content-title">{{ $lang('welcomeGift') }}</view>
|
||||
<view class="card-content-title">{{ $lang('member.card_buy.welcomeGift') }}</view>
|
||||
<view class="line-box">
|
||||
<view class="line"></view>
|
||||
</view>
|
||||
@@ -147,18 +147,18 @@
|
||||
<view class="card-privilege-list">
|
||||
<view class="card-privilege-item" v-if="currCard.send_point > 0">
|
||||
<view class="card-privilege-icon"><text class="iconfont icon-jifen3"></text></view>
|
||||
<view class="card-privilege-name">{{ $lang('pointsGift') }}</view>
|
||||
<view class="card-privilege-text">{{ $lang('giftPoints', { points: currCard.send_point }) }}</view>
|
||||
<view class="card-privilege-name">{{ $lang('member.card_buy.pointsGift') }}</view>
|
||||
<view class="card-privilege-text">{{ $lang('member.card_buy.giftPoints', { points: currCard.send_point }) }}</view>
|
||||
</view>
|
||||
<view class="card-privilege-item" v-if="currCard.send_balance > 0">
|
||||
<view class="card-privilege-icon"><text class="iconfont icon-hongbao"></text></view>
|
||||
<view class="card-privilege-name">{{ $lang('redPacketGift') }}</view>
|
||||
<view class="card-privilege-text">{{ $lang('giftRedPacket', { amount: parseFloat(currCard.send_balance) }) }}</view>
|
||||
<view class="card-privilege-name">{{ $lang('member.card_buy.redPacketGift') }}</view>
|
||||
<view class="card-privilege-text">{{ $lang('member.card_buy.giftRedPacket', { amount: parseFloat(currCard.send_balance) }) }}</view>
|
||||
</view>
|
||||
<view class="card-privilege-item" v-if="currCard.send_coupon != ''">
|
||||
<view class="card-privilege-icon"><text class="iconfont icon-youhuiquan1"></text></view>
|
||||
<view class="card-privilege-name">{{ $lang('couponGift') }}</view>
|
||||
<view class="card-privilege-text">{{ $lang('giftCoupons', { count: currCard.send_coupon.split(',').length }) }}
|
||||
<view class="card-privilege-name">{{ $lang('member.card_buy.couponGift') }}</view>
|
||||
<view class="card-privilege-text">{{ $lang('member.card_buy.giftCoupons', { count: currCard.send_coupon.split(',').length }) }}
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
@@ -170,17 +170,17 @@
|
||||
</view>
|
||||
<view class="action" :class="{ 'bottom-safe-area': isIphoneX, 'have-agreement': agreement }">
|
||||
<view class="action-btn" @click="create">
|
||||
<block v-if="currCard.level_id == levelId"><text class="bold title">{{ $lang('renewNow') }}</text></block>
|
||||
<block v-if="currCard.level_id == levelId"><text class="bold title">{{ $lang('member.card_buy.renewNow') }}</text></block>
|
||||
<block v-else>
|
||||
<text class="bold title" v-if="currCard.charge_type == 1">{{ $lang('rechargeToActivate') }}</text>
|
||||
<text class="bold title" v-else>{{ $lang('activateNow') }}</text>
|
||||
<text class="bold title" v-if="currCard.charge_type == 1">{{ $lang('member.card_buy.rechargeToActivate') }}</text>
|
||||
<text class="bold title" v-else>{{ $lang('member.card_buy.activateNow') }}</text>
|
||||
</block>
|
||||
<text class="font-size-tag">{{ $lang('common.currencySymbol') }}</text>
|
||||
<text class="bold">{{ currCard.charge_rule_arr[choiceIndex].value }}</text>
|
||||
<text>/{{ cardType[currCard.charge_rule_arr[choiceIndex].key].unit }}</text>
|
||||
</view>
|
||||
<view class="agreement" v-if="agreement">
|
||||
{{ $lang('purchaseAgreement') }}
|
||||
{{ $lang('member.card_buy.purchaseAgreement') }}
|
||||
<text @click="$util.redirectTo('/pages_tool/member/card_agreement')">《{{ agreement.title
|
||||
}}》</text>
|
||||
</view>
|
||||
@@ -193,13 +193,13 @@
|
||||
<uni-popup ref="explainPopup" type="bottom">
|
||||
<view class="tips-layer">
|
||||
<view class="head" @click="closeExplainPopup()">
|
||||
<view class="title">{{ $lang('cardDescription') }}</view>
|
||||
<view class="title">{{ $lang('member.card_buy.cardDescription') }}</view>
|
||||
<text class="iconfont icon-close"></text>
|
||||
</view>
|
||||
<view class="body">
|
||||
<view class="detail margin-bottom">
|
||||
<block v-if="currCard.remark != ''">
|
||||
<view class="tip">{{ $lang('cardDescription') }}</view>
|
||||
<view class="tip">{{ $lang('member.card_buy.cardDescription') }}</view>
|
||||
<view class="font-size-base">{{ currCard.remark }}</view>
|
||||
</block>
|
||||
</view>
|
||||
@@ -211,7 +211,7 @@
|
||||
<ns-payment ref="choosePaymentPopup" :payMoney="currCard.charge_rule_arr[choiceIndex].value"
|
||||
@confirm="toPay" v-if="currCard.charge_rule_arr.length"></ns-payment>
|
||||
</block>
|
||||
<block v-else><ns-empty :text="$lang('noCardsAvailable')" :isIndex="false"></ns-empty></block>
|
||||
<block v-else><ns-empty :text="$lang('member.card_buy.noCardsAvailable')" :isIndex="false"></ns-empty></block>
|
||||
|
||||
<ns-login ref="login"></ns-login>
|
||||
<loading-cover ref="loadingCover"></loading-cover>
|
||||
@@ -258,20 +258,20 @@ export default {
|
||||
cardType() {
|
||||
return {
|
||||
week: {
|
||||
name: this.$lang('weekCardName'),
|
||||
unit: this.$lang('weekCardUnit')
|
||||
name: this.$lang('member.card_buy.weekCardName'),
|
||||
unit: this.$lang('member.card_buy.weekCardUnit')
|
||||
},
|
||||
month: {
|
||||
name: this.$lang('monthCardName'),
|
||||
unit: this.$lang('monthCardUnit')
|
||||
name: this.$lang('member.card_buy.monthCardName'),
|
||||
unit: this.$lang('member.card_buy.monthCardUnit')
|
||||
},
|
||||
quarter: {
|
||||
name: this.$lang('quarterCardName'),
|
||||
unit: this.$lang('quarterCardUnit')
|
||||
name: this.$lang('member.card_buy.quarterCardName'),
|
||||
unit: this.$lang('member.card_buy.quarterCardUnit')
|
||||
},
|
||||
year: {
|
||||
name: this.$lang('yearCardName'),
|
||||
unit: this.$lang('yearCardUnit')
|
||||
name: this.$lang('member.card_buy.yearCardName'),
|
||||
unit: this.$lang('member.card_buy.yearCardUnit')
|
||||
}
|
||||
};
|
||||
},
|
||||
@@ -351,7 +351,7 @@ export default {
|
||||
if (this.memberInfo.member_level_type && this.memberInfo.member_level != this.currCard.level_id) {
|
||||
uni.showModal({
|
||||
title: this.$lang('customerService.tip'),
|
||||
content: this.$lang('cardOverrideConfirm'),
|
||||
content: this.$lang('member.card_buy.cardOverrideConfirm'),
|
||||
success: res => {
|
||||
if (res.confirm) {
|
||||
this.$refs.choosePaymentPopup.open();
|
||||
|
||||
@@ -4,17 +4,17 @@
|
||||
<view class="stat-header">
|
||||
<view class="stat-item">
|
||||
<view class="stat-value">{{ cardStat.total_consume }}</view>
|
||||
<view class="stat-label">{{ $lang('totalConsume') }}{{ $lang('statUnit', { unit: $lang('yuanSuffix') }) }}</view>
|
||||
<view class="stat-label">{{ $lang('member.card_log.totalConsume') }}{{ $lang('member.card_log.statUnit', { unit: $lang('member.card_log.yuanSuffix') }) }}</view>
|
||||
</view>
|
||||
<view class="stat-divider"></view>
|
||||
<view class="stat-item">
|
||||
<view class="stat-value">{{ cardStat.balance }}</view>
|
||||
<view class="stat-label">{{ $lang('cardBalance') }}{{ $lang('statUnit', { unit: $lang('yuanSuffix') }) }}</view>
|
||||
<view class="stat-label">{{ $lang('member.card_log.cardBalance') }}{{ $lang('member.card_log.statUnit', { unit: $lang('member.card_log.yuanSuffix') }) }}</view>
|
||||
</view>
|
||||
<view class="stat-divider"></view>
|
||||
<view class="stat-item">
|
||||
<view class="stat-value">{{ cardStat.total_recharge }}</view>
|
||||
<view class="stat-label">{{ $lang('totalRecharge') }}{{ $lang('statUnit', { unit: $lang('yuanSuffix') }) }}</view>
|
||||
<view class="stat-label">{{ $lang('member.card_log.totalRecharge') }}{{ $lang('member.card_log.statUnit', { unit: $lang('member.card_log.yuanSuffix') }) }}</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
@@ -43,14 +43,14 @@
|
||||
</view>
|
||||
<view class="log-amount">
|
||||
<text :class="item.amount > 0 ? 'income' : 'expense'">
|
||||
{{ item.amount > 0 ? '+' : '' }}{{ $lang('amountWithUnit', { amount: item.amount }) }}
|
||||
{{ item.amount > 0 ? '+' : '' }}{{ $lang('member.card_log.amountWithUnit', { amount: item.amount }) }}
|
||||
</text>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</block>
|
||||
<block v-else>
|
||||
<ns-empty :isIndex="false" :text="$lang('emptyTips')"></ns-empty>
|
||||
<ns-empty :isIndex="false" :text="$lang('member.card_log.emptyTips')"></ns-empty>
|
||||
</block>
|
||||
</block>
|
||||
</mescroll-uni>
|
||||
@@ -71,12 +71,12 @@ export default {
|
||||
},
|
||||
logList: [],
|
||||
filterList: [
|
||||
{ label: this.$lang('filterAll'), value: 'all' },
|
||||
{ label: this.$lang('filterIncome'), value: 'income' },
|
||||
{ label: this.$lang('filterExpense'), value: 'expense' },
|
||||
{ label: this.$lang('filterRecharge'), value: 'recharge' },
|
||||
{ label: this.$lang('filterConsume'), value: 'consume' },
|
||||
{ label: this.$lang('filterGift'), value: 'gift' }
|
||||
{ label: this.$lang('member.card_log.filterAll', value: 'all' },
|
||||
{ label: this.$lang('member.card_log.filterIncome', value: 'income' },
|
||||
{ label: this.$lang('member.card_log.filterExpense', value: 'expense' },
|
||||
{ label: this.$lang('member.card_log.filterRecharge', value: 'recharge' },
|
||||
{ label: this.$lang('member.card_log.filterConsume', value: 'consume' },
|
||||
{ label: this.$lang('member.card_log.filterGift', value: 'gift' }
|
||||
],
|
||||
currentFilter: 'all'
|
||||
};
|
||||
|
||||
@@ -2,9 +2,9 @@
|
||||
<view :style="themeColor" :class="isIphoneX ? 'iphone-x' : ''">
|
||||
<view class="cf-container color-line-border" v-if="storeToken">
|
||||
<view class="tab">
|
||||
<view @click="changeState(1)"><text :class="state == 1 ? 'color-base-text active color-base-border-bottom' : ''">{{ $lang('tabUnused') }}</text></view>
|
||||
<view @click="changeState(2)"><text :class="state == 2 ? 'color-base-text active color-base-border-bottom' : ''">{{ $lang('tabUsed') }}</text></view>
|
||||
<view @click="changeState(3)"><text :class="state == 3 ? 'color-base-text active color-base-border-bottom' : ''">{{ $lang('tabExpired') }}</text></view>
|
||||
<view @click="changeState(1)"><text :class="state == 1 ? 'color-base-text active color-base-border-bottom' : ''">{{ $lang('member.coupon.tabUnused') }}</text></view>
|
||||
<view @click="changeState(2)"><text :class="state == 2 ? 'color-base-text active color-base-border-bottom' : ''">{{ $lang('member.coupon.tabUsed') }}</text></view>
|
||||
<view @click="changeState(3)"><text :class="state == 3 ? 'color-base-text active color-base-border-bottom' : ''">{{ $lang('member.coupon.tabExpired') }}</text></view>
|
||||
</view>
|
||||
<!-- <view class="coupon-head">
|
||||
<view class="sort" :class="sort == 1 ? 'color-base-border color-base-text' : ''" @click="changeSort(1, '')">全部</view>
|
||||
@@ -30,36 +30,36 @@
|
||||
{{ parseFloat(item.money) }}
|
||||
</view>
|
||||
<view class="use_price" v-else-if="item.type == 'discount'">
|
||||
{{ $lang('discountText', { discount: parseFloat(item.discount) }) }}
|
||||
{{ $lang('member.coupon.discountText', { discount: parseFloat(item.discount) }) }}
|
||||
</view>
|
||||
<view class="use_condition font-size-tag" v-if="item.at_least > 0">
|
||||
{{ $lang('minAmountCondition', { amount: item.at_least }) }}</view>
|
||||
<view class="use_condition font-size-tag" v-else>{{ $lang('noThresholdCoupon') }}</view>
|
||||
{{ $lang('member.coupon.minAmountCondition', { amount: item.at_least }) }}</view>
|
||||
<view class="use_condition font-size-tag" v-else>{{ $lang('member.coupon.noThresholdCoupon') }}</view>
|
||||
</view>
|
||||
</view>
|
||||
<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 }">{{ $lang('specifiedGoods') }}</view>
|
||||
<view class="max_price" v-if="item.discount_limit != '0.00'">{{ $lang('maxDiscount', { amount: item.discount_limit }) }}</view>
|
||||
<view class="max_price" v-if="item.goods_type == 2 || item.goods_type == 3" :class="{ disabled: item.state == 3 }">{{ $lang('member.coupon.specifiedGoods') }}</view>
|
||||
<view class="max_price" v-if="item.discount_limit != '0.00'">{{ $lang('member.coupon.maxDiscount', { amount: 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 }">
|
||||
{{ item.use_store==='all'?'适用门店:全部门店': '适用门店:'+item.use_store_name}}
|
||||
</view> -->
|
||||
</view>
|
||||
<view class="use_time" v-if="item.end_time">{{ $lang('validPeriodPrefix') }}{{ $util.timeStampTurnTime(item.end_time) }}
|
||||
<view class="use_time" v-if="item.end_time">{{ $lang('member.coupon.validPeriodPrefix') }}{{ $util.timeStampTurnTime(item.end_time) }}
|
||||
</view>
|
||||
<view class="use_time" v-else>{{ $lang('validPeriodPrefix') }}{{ $lang('longTermValid') }}</view>
|
||||
<view class="use_time" v-else>{{ $lang('member.coupon.validPeriodPrefix') }}{{ $lang('member.coupon.longTermValid') }}</view>
|
||||
</view>
|
||||
<view class="item-btn">
|
||||
<view class="tag" v-if="item.state == 1">{{ $lang('useNow') }}</view>
|
||||
<view class="tag disabled" v-if="item.state == 2">{{ $lang('used') }}</view>
|
||||
<view class="tag disabled" v-if="item.state == 3">{{ $lang('expired') }}</view>
|
||||
<view class="tag" v-if="item.state == 1">{{ $lang('member.coupon.useNow') }}</view>
|
||||
<view class="tag disabled" v-if="item.state == 2">{{ $lang('member.coupon.used') }}</view>
|
||||
<view class="tag disabled" v-if="item.state == 3">{{ $lang('member.coupon.expired') }}</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view v-if="!list.length && showEmpty" class="margin-top cart-empty" :fixed="false">
|
||||
<ns-empty :isIndex="true" :emptyBtn="{url: $util.INDEX_PAGE_URL,text: $lang('goShopping')}" :text="$lang('emptyText')"></ns-empty>
|
||||
<ns-empty :isIndex="true" :emptyBtn="{url: $util.INDEX_PAGE_URL,text: $lang('member.coupon.goShopping')}" :text="$lang('member.coupon.emptyText')"></ns-empty>
|
||||
</view>
|
||||
</block>
|
||||
</mescroll-uni>
|
||||
@@ -88,7 +88,7 @@ export default {
|
||||
this.$nextTick(() => {
|
||||
if (!this.addonIsExist.coupon) {
|
||||
this.$util.showToast({
|
||||
title: this.$lang('merchantNotEnabled'),
|
||||
title: this.$lang('member.coupon.merchantNotEnabled'),
|
||||
mask: true,
|
||||
duration: 2000
|
||||
});
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
</view> -->
|
||||
<!-- 账号 -->
|
||||
<!-- <view class="info-list-cell info-list-con" hover-class="cell-hover" v-else>
|
||||
<text class="cell-tit">{{ $lang('account') }}</text>
|
||||
<text class="cell-tit">{{ $lang('member.info.account') }}</text>
|
||||
<text class="cell-tip cell-tip1">{{ memberInfoformData.number }}</text>
|
||||
</view> -->
|
||||
<!-- 昵称 -->
|
||||
@@ -28,7 +28,7 @@
|
||||
</view>
|
||||
<!-- 真实姓名 -->
|
||||
<view class="info-list-cell info-list-con" hover-class="cell-hover" @click="modifyInfo('realName')">
|
||||
<text class="cell-tit">{{ $lang('member.info.name') }}</text>
|
||||
<text class="cell-tit">{{ $lang('member.info.realName') }}</text>
|
||||
<text class="cell-tip">{{ memberInfoformData.realName }}</text>
|
||||
<text class="cell-more"></text>
|
||||
</view>
|
||||
@@ -46,7 +46,7 @@
|
||||
</view>
|
||||
<!-- 手机号 -->
|
||||
<view class="info-list-cell info-list-con" @click="modifyInfo('mobile')">
|
||||
<text class="cell-tit">{{ $lang('member.info.mobile') }}</text>
|
||||
<text class="cell-tit">{{ $lang('member.info.mobilePhone') }}</text>
|
||||
<text v-if="memberInfoformData.user_tel == ''" class="cell-tip">{{ $lang('member.info.password') }}</text>
|
||||
<text v-else class="cell-tip">{{ memberInfoformData.mobile }}</text>
|
||||
<text class="cell-more"></text>
|
||||
@@ -58,7 +58,7 @@
|
||||
</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-tit">{{ $lang('member.info.paypassword') }}</text>
|
||||
<text class="cell-more"></text>
|
||||
</view> -->
|
||||
|
||||
@@ -86,7 +86,7 @@
|
||||
|
||||
<!-- 语言 -->
|
||||
<!-- <view class="info-list-cell info-item info-list-con" hover-class="cell-hover" @click="modifyInfo('language')">
|
||||
<text class="cell-tit">{{ $lang('lang') }}</text>
|
||||
<text class="cell-tit">{{ $lang('member.info.lang') }}</text>
|
||||
<text class="cell-tip">{{ langList[langIndex].name }}</text>
|
||||
<text class="cell-more"></text>
|
||||
</view> -->
|
||||
|
||||
@@ -4,38 +4,38 @@
|
||||
<!-- 修改用户名 -->
|
||||
<view v-if="indent == 'username'" class="edit-info">
|
||||
<view class="edit-info-box">
|
||||
<text class="info-name">{{ $lang('username') }}</text>
|
||||
<input class="uni-input info-content input-len" type="text" maxlength="30" :placeholder="$lang('pleaseInput')" v-model="formData.username" />
|
||||
<text class="info-name">{{ $lang('member.info_edit.username') }}</text>
|
||||
<input class="uni-input info-content input-len" type="text" maxlength="30" :placeholder="$lang('member.info_edit.pleaseInput')" v-model="formData.username" />
|
||||
</view>
|
||||
<view class="color-tip font-size-goods-tag set-pass-tips">{{ $lang('usernameModifyTip') }}</view>
|
||||
<view class="color-tip font-size-goods-tag set-pass-tips">{{ $lang('member.info_edit.usernameModifyTip') }}</view>
|
||||
<view class="save-item" @click="save('username')">
|
||||
<button type="primary">{{ $lang('save') }}</button>
|
||||
<button type="primary">{{ $lang('member.info_edit.save') }}</button>
|
||||
</view>
|
||||
</view>
|
||||
<!-- 修改昵称 -->
|
||||
<view v-if="indent == 'name'" class="edit-info">
|
||||
<view class="edit-info-box">
|
||||
<text class="info-name">{{ $lang('nickname') }}</text>
|
||||
<input class="uni-input info-content input-len" type="text" maxlength="30" :placeholder="$lang('pleaseInput')" v-model="formData.nickName" />
|
||||
<text class="info-name">{{ $lang('member.info_edit.nickname') }}</text>
|
||||
<input class="uni-input info-content input-len" type="text" maxlength="30" :placeholder="$lang('member.info_edit.pleaseInput')" v-model="formData.nickName" />
|
||||
</view>
|
||||
<view class="save-item" @click="save('name')">
|
||||
<button type="primary">{{ $lang('save') }}</button>
|
||||
<button type="primary">{{ $lang('member.info_edit.save') }}</button>
|
||||
</view>
|
||||
</view>
|
||||
<!-- 修改真实姓名 -->
|
||||
<view v-if="indent == 'realName'" class="edit-info">
|
||||
<view class="edit-info-box">
|
||||
<text class="info-name">{{ $lang('realName') }}</text>
|
||||
<input class="uni-input info-content input-len" type="text" maxlength="30" :placeholder="$lang('pleaseInput')" v-model="formData.realName" />
|
||||
<text class="info-name">{{ $lang('member.info_edit.realName') }}</text>
|
||||
<input class="uni-input info-content input-len" type="text" maxlength="30" :placeholder="$lang('member.info_edit.pleaseInput')" v-model="formData.realName" />
|
||||
</view>
|
||||
<view class="save-item" @click="save('realName')">
|
||||
<button type="primary">{{ $lang('save') }}</button>
|
||||
<button type="primary">{{ $lang('member.info_edit.save') }}</button>
|
||||
</view>
|
||||
</view>
|
||||
<!-- 修改性别 -->
|
||||
<view v-if="indent == 'sex'" class="edit-info">
|
||||
<view class="edit-info-box">
|
||||
<text class="info-name">{{ $lang('sex') }}</text>
|
||||
<text class="info-name">{{ $lang('member.info_edit.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>
|
||||
@@ -46,19 +46,19 @@
|
||||
</radio-group>
|
||||
</view>
|
||||
<view class="save-item" @click="save('sex')">
|
||||
<button type="primary">{{ $lang('save') }}</button>
|
||||
<button type="primary">{{ $lang('member.info_edit.save') }}</button>
|
||||
</view>
|
||||
</view>
|
||||
<!-- 修改生日 -->
|
||||
<view v-if="indent == 'birthday'" class="edit-info edit-birthday-list">
|
||||
<view class="edit-info-box">
|
||||
<text class="info-name">{{ $lang('birthday') }}</text>
|
||||
<text class="info-name">{{ $lang('member.info_edit.birthday') }}</text>
|
||||
<picker mode="date" :value="formData.birthday" :start="startDate" :end="endDate" @change="bindDateChange">
|
||||
<view class="uni-input">{{ formData.birthday ? formData.birthday : $lang('pleaseSelectBirthday') }}</view>
|
||||
<view class="uni-input">{{ formData.birthday ? formData.birthday : $lang('member.info_edit.pleaseSelectBirthday') }}</view>
|
||||
</picker>
|
||||
</view>
|
||||
<view class="save-item" @click="save('birthday')">
|
||||
<button type="primary">{{ $lang('save') }}</button>
|
||||
<button type="primary">{{ $lang('member.info_edit.save') }}</button>
|
||||
</view>
|
||||
</view>
|
||||
<!-- 修改密码 -->
|
||||
@@ -68,87 +68,87 @@
|
||||
<view class="empty_img">
|
||||
<image :src="$util.img('public/uniapp/common/common-empty.png')" mode="aspectFit" show-menu-by-longpress></image>
|
||||
</view>
|
||||
<view class="color-tip margin-top margin-bottom">{{ $lang('bindMobileFirstTip') }}</view>
|
||||
<button type="primary" size="mini" class="mini button color-base-bg" @click="modifyInfo('mobile')">{{ $lang('bindNow') }}</button>
|
||||
<view class="color-tip margin-top margin-bottom">{{ $lang('member.info_edit.bindMobileFirstTip') }}</view>
|
||||
<button type="primary" size="mini" class="mini button color-base-bg" @click="modifyInfo('mobile')">{{ $lang('member.info_edit.bindNow') }}</button>
|
||||
</view>
|
||||
</block>
|
||||
<block v-else>
|
||||
<view class="edit-info-box" v-if="memberInfo.password">
|
||||
<text class="info-name">{{ $lang('nowPassword') }}</text>
|
||||
<input class="uni-input info-content input-len" type="password" maxlength="30" :placeholder="$lang('pleaseInput')" v-model="formData.currentPassword" />
|
||||
<text class="info-name">{{ $lang('member.info_edit.nowPassword') }}</text>
|
||||
<input class="uni-input info-content input-len" type="password" maxlength="30" :placeholder="$lang('member.info_edit.pleaseInput')" v-model="formData.currentPassword" />
|
||||
</view>
|
||||
<block v-else>
|
||||
<view class="edit-info-box">
|
||||
<text class="info-name">{{ $lang('newPassword') }}</text>
|
||||
<input class="uni-input info-content" type="number" maxlength="4" :placeholder="$lang('pleaseInput')" v-model="formData.mobileVercode" />
|
||||
<text class="info-name">{{ $lang('member.info_edit.newPassword') }}</text>
|
||||
<input class="uni-input info-content" type="number" maxlength="4" :placeholder="$lang('member.info_edit.pleaseInput')" v-model="formData.mobileVercode" />
|
||||
<image :src="captcha.img" class="captcha" @click="getCaptcha" show-menu-by-longpress></image>
|
||||
</view>
|
||||
<view class="edit-info-box">
|
||||
<text class="info-name">{{ $lang('confirmPassword') }}</text>
|
||||
<input class="uni-input info-content" type="number" maxlength="6" :placeholder="$lang('pleaseInput')" v-model="formData.mobileDynacode" />
|
||||
<text class="info-name">{{ $lang('member.info_edit.confirmPassword') }}</text>
|
||||
<input class="uni-input info-content" type="number" maxlength="6" :placeholder="$lang('member.info_edit.pleaseInput')" 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">
|
||||
{{ $lang('sendCodeTip', { mobile: memberInfoformData.mobile | mobile }) }}</view>
|
||||
{{ $lang('member.info_edit.sendCodeTip', { mobile: memberInfoformData.mobile | mobile }) }}</view>
|
||||
</block>
|
||||
<view class="edit-info-box">
|
||||
<text class="info-name">{{ $lang('newPassword') }}</text>
|
||||
<input class="uni-input info-content input-len" type="password" maxlength="30" :placeholder="$lang('pleaseInput')" v-model="formData.newPassword" />
|
||||
<text class="info-name">{{ $lang('member.info_edit.newPassword') }}</text>
|
||||
<input class="uni-input info-content input-len" type="password" maxlength="30" :placeholder="$lang('member.info_edit.pleaseInput')" v-model="formData.newPassword" />
|
||||
</view>
|
||||
<view class="edit-info-box">
|
||||
<text class="info-name">{{ $lang('confirmPassword') }}</text>
|
||||
<input class="uni-input info-content input-len" type="password" maxlength="30" :placeholder="$lang('pleaseInput')" v-model="formData.confirmPassword" />
|
||||
<text class="info-name">{{ $lang('member.info_edit.confirmPassword') }}</text>
|
||||
<input class="uni-input info-content input-len" type="password" maxlength="30" :placeholder="$lang('member.info_edit.pleaseInput')" v-model="formData.confirmPassword" />
|
||||
</view>
|
||||
|
||||
<view class="save-item" @click="save('password')">
|
||||
<button type="primary">{{ $lang('save') }}</button>
|
||||
<button type="primary">{{ $lang('member.info_edit.save') }}</button>
|
||||
</view>
|
||||
</block>
|
||||
</view>
|
||||
<!-- 修改手机号 -->
|
||||
<view v-if="indent == 'mobile'" class="edit-info">
|
||||
<view class="edit-info-box">
|
||||
<text class="info-name">{{ $lang('phoneNumber') }}</text>
|
||||
<input class="uni-input info-content" type="number" maxlength="11" :placeholder="$lang('pleaseInput')" v-model="formData.mobile" />
|
||||
<text class="info-name">{{ $lang('member.info_edit.phoneNumber') }}</text>
|
||||
<input class="uni-input info-content" type="number" maxlength="11" :placeholder="$lang('member.info_edit.pleaseInput')" v-model="formData.mobile" />
|
||||
</view>
|
||||
<view class="edit-info-box">
|
||||
<text class="info-name">{{ $lang('confirmCode') }}</text>
|
||||
<input class="uni-input info-content" type="number" maxlength="4" :placeholder="$lang('pleaseInput')" v-model="formData.mobileVercode" />
|
||||
<text class="info-name">{{ $lang('member.info_edit.confirmCode') }}</text>
|
||||
<input class="uni-input info-content" type="number" maxlength="4" :placeholder="$lang('member.info_edit.pleaseInput')" v-model="formData.mobileVercode" />
|
||||
<image :src="captcha.img" class="captcha" @click="getCaptcha" show-menu-by-longpress></image>
|
||||
</view>
|
||||
<view class="edit-info-box">
|
||||
<text class="info-name">{{ $lang('smsCode') }}</text>
|
||||
<input class="uni-input info-content" type="number" maxlength="6" :placeholder="$lang('pleaseInput')" v-model="formData.mobileDynacode" />
|
||||
<text class="info-name">{{ $lang('member.info_edit.smsCode') }}</text>
|
||||
<input class="uni-input info-content" type="number" maxlength="6" :placeholder="$lang('member.info_edit.pleaseInput')" v-model="formData.mobileDynacode" />
|
||||
<button type="primary" class="dynacode" @click="bindMoblieCode()">{{ formData.mobileCodeText }}</button>
|
||||
</view>
|
||||
<view class="save-item" @click="save('mobile')">
|
||||
<button type="primary">{{ $lang('save') }}</button>
|
||||
<button type="primary">{{ $lang('member.info_edit.save') }}</button>
|
||||
</view>
|
||||
</view>
|
||||
<!-- 绑定手机号 -->
|
||||
<view v-if="indent == 'bind_mobile'" class="edit-info">
|
||||
<view class="save-item bind-mobile">
|
||||
<button type="primary" open-type="getPhoneNumber" @getphonenumber="mobileAuth">{{ $lang('oneClickAuthBind') }}</button>
|
||||
<button type="primary" open-type="getPhoneNumber" @getphonenumber="mobileAuth">{{ $lang('member.info_edit.oneClickAuthBind') }}</button>
|
||||
</view>
|
||||
<view class="save-item bind-mobile">
|
||||
<button type="primary" @click="manualBinding">{{ $lang('manualBind') }}</button>
|
||||
<button type="primary" @click="manualBinding">{{ $lang('member.info_edit.manualBind') }}</button>
|
||||
</view>
|
||||
</view>
|
||||
<view v-if="indent == 'address'" class="edit-info">
|
||||
<view class="edit-info-box">
|
||||
<text class="info-name">{{ $lang('region') }}</text>
|
||||
<text class="info-name">{{ $lang('member.info_edit.region') }}</text>
|
||||
<pick-regions :default-regions="defaultRegions" select-arr="3" @getRegions="handleGetRegions">
|
||||
<text class="select-address " :class="{'color-tip': !formData.fullAddress }">
|
||||
{{ formData.fullAddress ? formData.fullAddress : $lang('pleaseSelectRegion') }}
|
||||
{{ formData.fullAddress ? formData.fullAddress : $lang('member.info_edit.pleaseSelectRegion') }}
|
||||
</text>
|
||||
</pick-regions>
|
||||
</view>
|
||||
<view class="edit-info-box">
|
||||
<text class="info-name">{{ $lang('detailAddress') }}</text>
|
||||
<input class="uni-input info-content" type="text" :placeholder="$lang('detailAddress')" v-model="formData.address" />
|
||||
<text class="info-name">{{ $lang('member.info_edit.detailAddress') }}</text>
|
||||
<input class="uni-input info-content" type="text" :placeholder="$lang('member.info_edit.detailAddress')" v-model="formData.address" />
|
||||
</view>
|
||||
<view class="save-item" @click="save('address')">
|
||||
<button type="primary">{{ $lang('save') }}</button>
|
||||
<button type="primary">{{ $lang('member.info_edit.save') }}</button>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
@@ -7,17 +7,17 @@
|
||||
|
||||
<view class="desc" @click="openRulePopup" v-if="info.remark != ''">
|
||||
<text class="iconfont icon-bangzhu"></text>
|
||||
{{ $lang('activityDescription') }}
|
||||
{{ $lang('member.invite_friends.activityDescription') }}
|
||||
</view>
|
||||
<image class="font" :src="$util.img('public/uniapp/member/invite/top_font.png')" mode="widthFix" show-menu-by-longpress />
|
||||
<view class="time">
|
||||
{{ $lang('activityTime', { startTime: $util.timeStampTurnTime(info.start_time, 1), endTime: $util.timeStampTurnTime(info.end_time, 1) }) }}
|
||||
{{ $lang('member.invite_friends.activityTime', { startTime: $util.timeStampTurnTime(info.start_time, 1), endTime: $util.timeStampTurnTime(info.end_time, 1) }) }}
|
||||
</view>
|
||||
|
||||
<view class="btn" :style="{ 'background-image': 'url(' + $util.img('public/uniapp/member/invite/top_btn.png') + ')' }" @click="openSharePopup">{{ $lang('inviteNow') }}</view>
|
||||
<view class="btn" :style="{ 'background-image': 'url(' + $util.img('public/uniapp/member/invite/top_btn.png') + ')' }" @click="openSharePopup">{{ $lang('member.invite_friends.inviteNow') }}</view>
|
||||
</view>
|
||||
<view class="content invite-list">
|
||||
<view class="title">{{ $lang('myFriends') }}</view>
|
||||
<view class="title">{{ $lang('member.invite_friends.myFriends') }}</view>
|
||||
<block v-if="inviteList.length > 0">
|
||||
<view class="invitelist_block">
|
||||
<view class="invitelist">
|
||||
@@ -33,32 +33,32 @@
|
||||
</view>
|
||||
</view>
|
||||
<view class="prize color-base-text font-size-activity-tag">
|
||||
<block v-if="item.balance > 0">{{ $lang('cashRedPacketAmount', { amount: item.balance }) }}</block>
|
||||
<block v-if="item.balance > 0">{{ $lang('member.invite_friends.cashRedPacketAmount', { amount: item.balance }) }}</block>
|
||||
<block v-if="(item.point > 0 || item.coupon_num) && item.balance > 0">+</block>
|
||||
<block v-if="item.point > 0">{{ $lang('pointsAmount', { amount: parseInt(item.point) }) }}</block>
|
||||
<block v-if="item.point > 0">{{ $lang('member.invite_friends.pointsAmount', { amount: parseInt(item.point) }) }}</block>
|
||||
<block v-if="item.point > 0 && item.balance > 0 && item.coupon_num > 0">+
|
||||
</block>
|
||||
<block v-if="item.coupon_num > 0">{{ $lang('couponsAmount', { count: item.coupon_num }) }}</block>
|
||||
<block v-if="item.coupon_num > 0">{{ $lang('member.invite_friends.couponsAmount', { count: item.coupon_num }) }}</block>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="more_invite color-tip font-size-tag " @click="moreList" v-if="isClick && total_num > page">
|
||||
{{ $lang('viewMore') }}
|
||||
{{ $lang('member.invite_friends.viewMore') }}
|
||||
<text class="iconfont icon-iconangledown"></text>
|
||||
</view>
|
||||
<view class="more_invite color-tip font-size-tag " @click="moreList" v-if="!isClick && inviteList.length > 5 && total_num <= page">{{ $lang('noMoreData') }}</view>
|
||||
<view class="more_invite color-tip font-size-tag " @click="moreList" v-if="!isClick && inviteList.length > 5 && total_num <= page">{{ $lang('member.invite_friends.noMoreData') }}</view>
|
||||
</view>
|
||||
</block>
|
||||
<block v-else>
|
||||
<view class="empty">
|
||||
<view class="tip">{{ $lang('noInvitedFriendsTip') }}</view>
|
||||
<view class="tip">{{ $lang('inviteTip') }}</view>
|
||||
<view class="tip">{{ $lang('member.invite_friends.noInvitedFriendsTip') }}</view>
|
||||
<view class="tip">{{ $lang('member.invite_friends.inviteTip') }}</view>
|
||||
</view>
|
||||
</block>
|
||||
</view>
|
||||
<view class="content">
|
||||
<view class="title">{{ $lang('inviteRewards') }}</view>
|
||||
<view class="title">{{ $lang('member.invite_friends.inviteRewards') }}</view>
|
||||
<view class="invite_active">
|
||||
<view class="list">
|
||||
<view class="item" v-if="$util.inArray('balance', info.type) != -1">
|
||||
@@ -68,7 +68,7 @@
|
||||
<text class="font-size-base">{{ $lang('common.currencySymbol') }}</text>
|
||||
<text>{{ info.balance }}</text>
|
||||
</view>
|
||||
<view class="type">{{ $lang('cashRedPacket') }}</view>
|
||||
<view class="type">{{ $lang('member.invite_friends.cashRedPacket') }}</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
@@ -78,7 +78,7 @@
|
||||
<view class="price">
|
||||
<text>{{ parseInt(info.point) }}</text>
|
||||
</view>
|
||||
<view class="type">{{ $lang('points') }}</view>
|
||||
<view class="type">{{ $lang('member.invite_friends.points') }}</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
@@ -88,49 +88,49 @@
|
||||
<view class="desc">
|
||||
<view class="price">
|
||||
<text>{{ info.coupon.split(',').length }}</text>
|
||||
{{ $lang('couponUnit') }}
|
||||
{{ $lang('member.invite_friends.couponUnit') }}
|
||||
</view>
|
||||
<view class="type">{{ $lang('coupon') }}</view>
|
||||
<view class="type">{{ $lang('member.invite_friends.coupon') }}</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="desc">
|
||||
<view class="title_desc color-tip">{{ $lang('shareDesc') }}</view>
|
||||
<view class="title_desc color-tip">{{ $lang('member.invite_friends.shareDesc') }}</view>
|
||||
<view class="desc_list">
|
||||
<view class="" v-if="$util.inArray('balance', info.type) != -1">
|
||||
<text>●</text>
|
||||
{{ $lang('balanceReward', { amount: info.balance }) }}
|
||||
{{ $lang('member.invite_friends.balanceReward', { amount: info.balance }) }}
|
||||
</view>
|
||||
<view class="" v-if="$util.inArray('point', info.type) != -1">
|
||||
<text>●</text>
|
||||
{{ $lang('pointReward', { amount: info.point }) }}
|
||||
{{ $lang('member.invite_friends.pointReward', { amount: info.point }) }}
|
||||
</view>
|
||||
<view class="" v-if="$util.inArray('coupon', info.type) != -1">
|
||||
<text>●</text>
|
||||
{{ $lang('couponReward', { count: info.coupon.split(',').length }) }}
|
||||
{{ $lang('member.invite_friends.couponReward', { count: info.coupon.split(',').length }) }}
|
||||
</view>
|
||||
|
||||
<view class="" v-if="info.max_fetch == 0">
|
||||
<text>●</text>
|
||||
{{ $lang('unlimitedReward') }}
|
||||
{{ $lang('member.invite_friends.unlimitedReward') }}
|
||||
</view>
|
||||
<view class="" v-else>
|
||||
<text>●</text>
|
||||
{{ $lang('rewardLimit', { max: info.max_fetch }) }}
|
||||
{{ $lang('member.invite_friends.rewardLimit', { max: info.max_fetch }) }}
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="content">
|
||||
<view class="title">{{ $lang('howToInvite') }}</view>
|
||||
<view class="title">{{ $lang('member.invite_friends.howToInvite') }}</view>
|
||||
<view class="invite_active">
|
||||
<view class="step">
|
||||
<view>
|
||||
<view class="img">
|
||||
<image :src="$util.img('public/uniapp/member/invite/fenxiang.png')" mode="aspectFit" show-menu-by-longpress />
|
||||
</view>
|
||||
<view class="text">{{ $lang('stepShareLink') }}</view>
|
||||
<view class="text">{{ $lang('member.invite_friends.stepShareLink') }}</view>
|
||||
</view>
|
||||
<view>
|
||||
<image :src="$util.img('public/uniapp/member/invite/jiantou.png')" class="jiantou" show-menu-by-longpress ></image>
|
||||
@@ -139,7 +139,7 @@
|
||||
<view class="img">
|
||||
<image :src="$util.img('public/uniapp/member/invite/shouji.png')" mode="aspectFit" show-menu-by-longpress />
|
||||
</view>
|
||||
<view class="text">{{ $lang('stepFriendEnter') }}</view>
|
||||
<view class="text">{{ $lang('member.invite_friends.stepFriendEnter') }}</view>
|
||||
</view>
|
||||
<view>
|
||||
<image :src="$util.img('public/uniapp/member/invite/jiantou.png')" class="jiantou" show-menu-by-longpress ></image>
|
||||
@@ -148,7 +148,7 @@
|
||||
<view class="img">
|
||||
<image :src="$util.img('public/uniapp/member/invite/hongbao.png')" mode="aspectFit" show-menu-by-longpress />
|
||||
</view>
|
||||
<view class="text">{{ $lang('stepFriendRegister') }}</view>
|
||||
<view class="text">{{ $lang('member.invite_friends.stepFriendRegister') }}</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
@@ -163,10 +163,10 @@
|
||||
<image :src="$util.img(poster)" mode="widthFix" show-menu-by-longpress />
|
||||
</view>
|
||||
<!-- #ifdef MP || APP-PLUS -->
|
||||
<view class="save" @click="savePoster()">{{ $lang('saveImage') }}</view>
|
||||
<view class="save" @click="savePoster()">{{ $lang('member.invite_friends.saveImage') }}</view>
|
||||
<!-- #endif -->
|
||||
<!-- #ifdef H5 -->
|
||||
<view class="save">{{ $lang('longPressSaveImage') }}</view>
|
||||
<view class="save">{{ $lang('member.invite_friends.longPressSaveImage') }}</view>
|
||||
<!-- #endif -->
|
||||
</view>
|
||||
<view class="close iconfont icon-close" @click="closePosterPopup()"></view>
|
||||
@@ -179,32 +179,32 @@
|
||||
<view @touchmove.prevent.stop>
|
||||
<uni-popup ref="sharePopup" type="bottom" class="share-popup">
|
||||
<view>
|
||||
<view class="share-title">{{ $lang('share') }}</view>
|
||||
<view class="share-title">{{ $lang('member.invite_friends.share') }}</view>
|
||||
<view class="share-content">
|
||||
<!-- #ifdef MP -->
|
||||
<view class="share-box">
|
||||
<button class="share-btn" :plain="true" open-type="share">
|
||||
<view class="iconfont icon-share-friend"></view>
|
||||
<text>{{ $lang('shareToFriends') }}</text>
|
||||
<text>{{ $lang('member.invite_friends.shareToFriends') }}</text>
|
||||
</button>
|
||||
</view>
|
||||
<!-- #endif -->
|
||||
<view class="share-box" @click="openPosterPopup">
|
||||
<button class="share-btn" :plain="true">
|
||||
<view class="iconfont icon-pengyouquan"></view>
|
||||
<text>{{ $lang('generatePoster') }}</text>
|
||||
<text>{{ $lang('member.invite_friends.generatePoster') }}</text>
|
||||
</button>
|
||||
</view>
|
||||
<!-- #ifdef H5 -->
|
||||
<view class="share-box" @click="copyUrl">
|
||||
<button class="share-btn" :plain="true">
|
||||
<view class="iconfont icon-fuzhilianjie"></view>
|
||||
<text>{{ $lang('copyLink') }}</text>
|
||||
<text>{{ $lang('member.invite_friends.copyLink') }}</text>
|
||||
</button>
|
||||
</view>
|
||||
<!-- #endif -->
|
||||
</view>
|
||||
<view class="share-footer" @click="closeSharePopup"><text>{{ $lang('cancelShare') }}</text></view>
|
||||
<view class="share-footer" @click="closeSharePopup"><text>{{ $lang('member.invite_friends.cancelShare') }}</text></view>
|
||||
</view>
|
||||
</uni-popup>
|
||||
</view>
|
||||
@@ -214,7 +214,7 @@
|
||||
<uni-popup ref="rulePopup" type="bottom">
|
||||
<view class="tips-layer">
|
||||
<view class="head" @click="closeRulePopup()">
|
||||
<view class="title">{{ $lang('activityDescription') }}</view>
|
||||
<view class="title">{{ $lang('member.invite_friends.activityDescription') }}</view>
|
||||
<text class="iconfont icon-close"></text>
|
||||
</view>
|
||||
<view class="body">
|
||||
@@ -224,7 +224,7 @@
|
||||
</uni-popup>
|
||||
</view>
|
||||
</view>
|
||||
<ns-empty v-else :text="$lang('noData')"></ns-empty>
|
||||
<ns-empty v-else :text="$lang('member.invite_friends.noData')"></ns-empty>
|
||||
<ns-login ref="login"></ns-login>
|
||||
<loading-cover ref="loadingCover"></loading-cover>
|
||||
</view>
|
||||
|
||||
@@ -9,11 +9,11 @@
|
||||
<image :src="$util.getDefaultImage().head" v-else mode="aspectFill" show-menu-by-longpress></image>
|
||||
<view class="member-desc">
|
||||
<view class="font-size-base">{{ memberInfo.nickname }}</view>
|
||||
<view class="font-size-activity-tag">{{ $lang('currentLevelLabel') }}{{ memberInfo.member_level_name }}</view>
|
||||
<view class="font-size-activity-tag">{{ $lang('member.level.currentLevelLabel') }}{{ memberInfo.member_level_name }}</view>
|
||||
</view>
|
||||
<view class="growth-rules font-size-tag" @click="growthRules">
|
||||
<text class="iconfont icon-wenhao font-size-tag"></text>
|
||||
{{ $lang('growthRules') }}
|
||||
{{ $lang('member.level.growthRules') }}
|
||||
</view>
|
||||
</view>
|
||||
<swiper :style="{ width: '100vw', height: '390rpx' }" class="margin-bottom"
|
||||
@@ -54,26 +54,26 @@
|
||||
<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">{{ $lang('currentLevelTag') }}</text>
|
||||
<text class="isnow " :style="{color:levelList[curIndex]['level_text_color']}" v-if="levelId == item.level_id">{{ $lang('member.level.currentLevelTag') }}</text>
|
||||
</view>
|
||||
<view class="growr-name" :style="{color:levelList[curIndex]['level_text_color']}">{{ $lang('currentGrowthValue') }}</view>
|
||||
<view class="growr-name" :style="{color:levelList[curIndex]['level_text_color']}">{{ $lang('member.level.currentGrowthValue') }}</view>
|
||||
<view class="growr-value" :style="{color:levelList[curIndex]['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']}">
|
||||
{{ $lang('growthToNextLevel', { needGrowth: levelList[curIndex + 1].needGrowth > 0 ? levelList[curIndex + 1].needGrowth : 0, levelName: levelList[curIndex + 1].level_name }) }}
|
||||
{{ $lang('member.level.growthToNextLevel', { needGrowth: levelList[curIndex + 1].needGrowth > 0 ? levelList[curIndex + 1].needGrowth : 0, levelName: levelList[curIndex + 1].level_name }) }}
|
||||
</view>
|
||||
</block>
|
||||
<block v-else>
|
||||
<view class="residue-growr-value" :style="{color:levelList[curIndex]['level_text_color']}">{{ $lang('maxLevelReached') }}</view>
|
||||
<view class="residue-growr-value" :style="{color:levelList[curIndex]['level_text_color']}">{{ $lang('member.level.maxLevelReached') }}</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']}">
|
||||
{{ $lang('growthToNextLevel', { needGrowth: levelList[curIndex].needGrowth, levelName: levelList[curIndex].level_name }) }}
|
||||
{{ $lang('member.level.growthToNextLevel', { needGrowth: levelList[curIndex].needGrowth, levelName: levelList[curIndex].level_name }) }}
|
||||
</view>
|
||||
</block>
|
||||
</view>
|
||||
@@ -82,52 +82,52 @@
|
||||
</swiper-item>
|
||||
</swiper>
|
||||
<view class="member-equity" v-if="levelList[curIndex].is_free_shipping > 0 || levelList[curIndex].consume_discount > 0 || levelList[curIndex].point_feedback > 0">
|
||||
<view class="equity-title">{{ $lang('memberBenefits') }}</view>
|
||||
<view class="equity-title">{{ $lang('member.level.memberBenefits') }}</view>
|
||||
<view class="equity-itme" v-if="levelList[curIndex].is_free_shipping > 0">
|
||||
<image :src="$util.img('public/uniapp/level/exemption_postage.png')" mode="aspectFit" show-menu-by-longpress></image>
|
||||
<view class="equity-content" :class="{ active: levelList[curIndex].consume_discount > 0 }">
|
||||
<text>{{ $lang('freeShipping') }}</text>
|
||||
<text class="equity-desc">{{ $lang('freeShippingDesc') }}</text>
|
||||
<text>{{ $lang('member.level.freeShipping') }}</text>
|
||||
<text class="equity-desc">{{ $lang('member.level.freeShippingDesc') }}</text>
|
||||
</view>
|
||||
</view>
|
||||
<view class="equity-itme" v-if="levelList[curIndex].consume_discount > 0">
|
||||
<image :src="$util.img('public/uniapp/level/consumption_discount.png')" mode="aspectFit" show-menu-by-longpress></image>
|
||||
<view class="equity-content" :class="{ active: levelList[curIndex].point_feedback > 0 }">
|
||||
<text>{{ $lang('consumptionDiscount') }}</text>
|
||||
<text class="equity-desc" v-if="levelList[curIndex].is_default == 1">{{ $lang('noDiscountDesc') }}</text>
|
||||
<text class="equity-desc" v-else>{{ $lang('discountDescWithValue', { discount: levelList[curIndex].consume_discount }) }}</text>
|
||||
<text>{{ $lang('member.level.consumptionDiscount') }}</text>
|
||||
<text class="equity-desc" v-if="levelList[curIndex].is_default == 1">{{ $lang('member.level.noDiscountDesc') }}</text>
|
||||
<text class="equity-desc" v-else>{{ $lang('member.level.discountDescWithValue', { discount: levelList[curIndex].consume_discount }) }}</text>
|
||||
</view>
|
||||
</view>
|
||||
<view class="equity-itme" v-if="levelList[curIndex].point_feedback > 0">
|
||||
<image :src="$util.img('public/uniapp/level/integral_feedback.png')" mode="aspectFit" show-menu-by-longpress></image>
|
||||
<view class="equity-content">
|
||||
<text>{{ $lang('pointsReward') }}</text>
|
||||
<text class="equity-desc">{{ $lang('pointsRewardDesc', { multiplier: levelList[curIndex].point_feedback }) }}</text>
|
||||
<text>{{ $lang('member.level.pointsReward') }}</text>
|
||||
<text class="equity-desc">{{ $lang('member.level.pointsRewardDesc', { multiplier: levelList[curIndex].point_feedback }) }}</text>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="member-gift" v-if="levelList[curIndex].send_balance > 0 || levelList[curIndex].send_balance > 0 || levelList[curIndex].send_coupon">
|
||||
<view class="gift-title">{{ $lang('memberGift') }}</view>
|
||||
<view class="gift-title">{{ $lang('member.level.memberGift') }}</view>
|
||||
<view class="gift-itme" v-if="levelList[curIndex].send_point > 0">
|
||||
<image :src="$util.img('public/uniapp/level/integral.png')" mode="aspectFit" show-menu-by-longpress></image>
|
||||
<view class="gift-content" :class="{ active: levelList[curIndex].send_balance > 0 }">
|
||||
<text>{{ $lang('pointsGift') }}</text>
|
||||
<text class="gift-desc">{{ $lang('giftPoints', { points: levelList[curIndex].send_point }) }}</text>
|
||||
<text>{{ $lang('member.level.pointsGift') }}</text>
|
||||
<text class="gift-desc">{{ $lang('member.level.giftPoints', { points: levelList[curIndex].send_point }) }}</text>
|
||||
</view>
|
||||
</view>
|
||||
<view class="gift-itme" v-if="levelList[curIndex].send_balance > 0">
|
||||
<image :src="$util.img('public/uniapp/level/red_packet.png')" mode="aspectFit" show-menu-by-longpress></image>
|
||||
<view class="gift-content" :class="{ active: levelList[curIndex].send_coupon }">
|
||||
<text>{{ $lang('redPacketGift') }}</text>
|
||||
<text class="gift-desc">{{ $lang('giftRedPacket', { amount: levelList[curIndex].send_balance }) }}</text>
|
||||
<text>{{ $lang('member.level.redPacketGift') }}</text>
|
||||
<text class="gift-desc">{{ $lang('member.level.giftRedPacket', { amount: levelList[curIndex].send_balance }) }}</text>
|
||||
</view>
|
||||
</view>
|
||||
<view class="gift-itme" v-if="levelList[curIndex].send_coupon" @click="openCoupon(levelList[curIndex].send_coupon)">
|
||||
<image :src="$util.img('public/uniapp/level/coupon.png')" mode="aspectFit" show-menu-by-longpress></image>
|
||||
<view class="gift-content">
|
||||
<text>{{ $lang('couponGift') }}</text>
|
||||
<text class="gift-desc">{{ $lang('giftCoupons', { count: levelList[curIndex].coupon_length }) }}</text>
|
||||
<text>{{ $lang('member.level.couponGift') }}</text>
|
||||
<text class="gift-desc">{{ $lang('member.level.giftCoupons', { count: levelList[curIndex].coupon_length }) }}</text>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
@@ -137,7 +137,7 @@
|
||||
<uni-popup ref="couponPopup" type="bottom">
|
||||
<view class="coupon-popup-box">
|
||||
<view class="coupon-popup-title" @click="closeCoupon">
|
||||
{{ $lang('coupons') }}
|
||||
{{ $lang('member.level.coupons') }}
|
||||
<text class="iconfont icon-close"></text>
|
||||
</view>
|
||||
<scroll-view class="coupon-popup-content" scroll-y>
|
||||
@@ -148,11 +148,11 @@
|
||||
</view>
|
||||
<view class="coupon-price" v-if="item.type == 'reward'">
|
||||
<text>{{ item.money }}</text>
|
||||
{{ $lang('yuan') }}
|
||||
{{ $lang('member.level.yuan') }}
|
||||
</view>
|
||||
<view class="coupon-price" v-if="item.type == 'discount'">
|
||||
<text>{{ $util.numberFixed(item.discount, 1) }}</text>
|
||||
{{ $lang('zhe') }}
|
||||
{{ $lang('member.level.zhe') }}
|
||||
</view>
|
||||
</view>
|
||||
</scroll-view>
|
||||
@@ -261,7 +261,7 @@
|
||||
},
|
||||
getBannerDetail(index) {
|
||||
uni.showLoading({
|
||||
title: this.$lang('navigatingToDetail'),
|
||||
title: this.$lang('member.level.navigatingToDetail'),
|
||||
duration: 2000,
|
||||
mask: true
|
||||
});
|
||||
|
||||
@@ -3,13 +3,13 @@
|
||||
<view class="grow-explain">
|
||||
<view class="explain-title">
|
||||
<image :src="$util.img('public/uniapp/level/growth_that_left.png')" mode="aspectFit" show-menu-by-longpress></image>
|
||||
{{ $lang('title') }}
|
||||
{{ $lang('member.level_growth_rules.title') }}
|
||||
<image :src="$util.img('public/uniapp/level/growth_that_right.png')" mode="aspectFit" show-menu-by-longpress></image>
|
||||
</view>
|
||||
<view class="explain-table">
|
||||
<view class="explain-tr">
|
||||
<text class="explain-th">{{ $lang('level') }}</text>
|
||||
<text class="explain-th">{{ $lang('growthValue') }}</text>
|
||||
<text class="explain-th">{{ $lang('member.level_growth_rules.level') }}</text>
|
||||
<text class="explain-th">{{ $lang('member.level_growth_rules.growthValue') }}</text>
|
||||
</view>
|
||||
<view class="explain-tr" v-for="(item, index) in levelList" :key="index">
|
||||
<text class="explain-td">{{ item.level_name }}</text>
|
||||
@@ -20,20 +20,20 @@
|
||||
<view class="grow-value">
|
||||
<view class="title">
|
||||
<image :src="$util.img('public/uniapp/level/explain.png')" mode="aspectFit" show-menu-by-longpress></image>
|
||||
<text>{{ $lang('whatIsGrowthValue') }}</text>
|
||||
<text>{{ $lang('member.level_growth_rules.whatIsGrowthValue') }}</text>
|
||||
</view>
|
||||
<view class="content color-tip">{{ $lang('growthValueDescription') }}</view>
|
||||
<view class="content color-tip">{{ $lang('member.level_growth_rules.growthValueDescription') }}</view>
|
||||
</view>
|
||||
<view class="acquisition-grow">
|
||||
<view class="title">
|
||||
<image :src="$util.img('public/uniapp/level/explain.png')" mode="aspectFit" show-menu-by-longpress></image>
|
||||
<text>{{ $lang('howToGetGrowthValue') }}</text>
|
||||
<text>{{ $lang('member.level_growth_rules.howToGetGrowthValue') }}</text>
|
||||
</view>
|
||||
<view class="content color-tip">
|
||||
<text>{{ $lang('ruleRegister') }}</text>
|
||||
<text>{{ $lang('ruleRecharge') }}</text>
|
||||
<text>{{ $lang('ruleCheckin') }}</text>
|
||||
<text>{{ $lang('ruleConsume') }}</text>
|
||||
<text>{{ $lang('member.level_growth_rules.ruleRegister') }}</text>
|
||||
<text>{{ $lang('member.level_growth_rules.ruleRecharge') }}</text>
|
||||
<text>{{ $lang('member.level_growth_rules.ruleCheckin') }}</text>
|
||||
<text>{{ $lang('member.level_growth_rules.ruleConsume') }}</text>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
@@ -118,7 +118,7 @@
|
||||
},
|
||||
getBannerDetail(index) {
|
||||
uni.showLoading({
|
||||
title: this.$lang('navigatingToDetail'),
|
||||
title: this.$lang('member.level_growth_rules.navigatingToDetail'),
|
||||
duration: 2000,
|
||||
mask: true
|
||||
});
|
||||
|
||||
@@ -1,16 +1,16 @@
|
||||
<template>
|
||||
<view :style="themeColor" class="container">
|
||||
<view class="tips" v-if="step != 0">{{ $lang('passwordTips') }}</view>
|
||||
<view class="tips" v-else>{{ $lang('codeSentTips', { mobile: memberInfo.mobile | mobile }) }}</view>
|
||||
<view class="tips" v-if="step != 0">{{ $lang('member.pay_password.passwordTips') }}</view>
|
||||
<view class="tips" v-else>{{ $lang('member.pay_password.codeSentTips', { mobile: memberInfo.mobile | mobile }) }}</view>
|
||||
<view class="password-wrap">
|
||||
<myp-one :maxlength="step == 0 ? 4 : 6" :is-pwd="step != 0" @input="input" ref="input" :auto-focus="true"></myp-one>
|
||||
<view v-show="step == 0" class="dynacode" :class="dynacodeData.seconds == 120 ? 'color-base-text' : 'color-tip'" @click="sendMobileCode">
|
||||
{{ dynacodeData.codeText }}
|
||||
</view>
|
||||
<view class="action-tips" v-show="step == 0">{{ $lang('inputSmsCode') }}</view>
|
||||
<view class="action-tips" v-show="step == 1">{{ $lang('setPayPassword') }}</view>
|
||||
<view class="action-tips" v-show="step == 2">{{ $lang('inputAgain') }}</view>
|
||||
<view class="btn color-base-bg color-base-border" :class="{ disabled: !isClick }" @click="confirm">{{ $lang('confirm') }}</view>
|
||||
<view class="action-tips" v-show="step == 0">{{ $lang('member.pay_password.inputSmsCode') }}</view>
|
||||
<view class="action-tips" v-show="step == 1">{{ $lang('member.pay_password.setPayPassword') }}</view>
|
||||
<view class="action-tips" v-show="step == 2">{{ $lang('member.pay_password.inputAgain') }}</view>
|
||||
<view class="btn color-base-bg color-base-border" :class="{ disabled: !isClick }" @click="confirm">{{ $lang('member.pay_password.confirm') }}</view>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
@@ -42,7 +42,7 @@
|
||||
onLoad(option) {
|
||||
if (option.back) this.back = option.back;
|
||||
|
||||
this.dynacodeData.codeText = this.$lang('getCode');
|
||||
this.dynacodeData.codeText = this.$lang('member.pay_password.getCode');
|
||||
|
||||
// 判断登录
|
||||
if (!this.storeToken) {
|
||||
@@ -50,8 +50,8 @@
|
||||
} else {
|
||||
if (this.memberInfo.mobile == '') {
|
||||
uni.showModal({
|
||||
title: this.$lang('tipsTitle'),
|
||||
content: this.$lang('bindMobileFirst'),
|
||||
title: this.$lang('member.pay_password.tipsTitle'),
|
||||
content: this.$lang('member.pay_password.bindMobileFirst'),
|
||||
success: res => {
|
||||
if (res.confirm) {
|
||||
this.$util.redirectTo('/pages_tool/member/info', {
|
||||
@@ -134,7 +134,7 @@
|
||||
success: res => {
|
||||
if (res.code >= 0) {
|
||||
this.$util.showToast({
|
||||
title: this.$lang('modifySuccess')
|
||||
title: this.$lang('member.pay_password.modifySuccess')
|
||||
});
|
||||
setTimeout(() => {
|
||||
if (this.back) this.$util.redirectTo(this.back, {},
|
||||
@@ -151,7 +151,7 @@
|
||||
});
|
||||
} else {
|
||||
this.$util.showToast({
|
||||
title: this.$lang('passwordMismatch'),
|
||||
title: this.$lang('member.pay_password.passwordMismatch'),
|
||||
success: res => {
|
||||
this.initInfo();
|
||||
}
|
||||
@@ -187,7 +187,7 @@
|
||||
if (this.dynacodeData.seconds == 120 && this.dynacodeData.timer == null) {
|
||||
this.dynacodeData.timer = setInterval(() => {
|
||||
this.dynacodeData.seconds--;
|
||||
this.dynacodeData.codeText = this.$lang('resendAfter', { seconds: this.dynacodeData.seconds });
|
||||
this.dynacodeData.codeText = this.$lang('member.pay_password.resendAfter', { seconds: this.dynacodeData.seconds });
|
||||
}, 1000);
|
||||
}
|
||||
} else {
|
||||
|
||||
@@ -64,7 +64,7 @@ export default {
|
||||
},
|
||||
onLoad(option) {
|
||||
this.isIphoneX = this.$util.uniappIsIPhoneX()
|
||||
this.formData.mobileCodeText = this.$lang('findanimateCode');
|
||||
this.formData.mobileCodeText = this.$lang('member.info.findanimateCode');
|
||||
|
||||
if (option.back) {
|
||||
this.back = option.back;
|
||||
@@ -96,7 +96,7 @@ export default {
|
||||
},
|
||||
onHide() {
|
||||
this.seconds = 120;
|
||||
this.formData.mobileCodeText = this.$lang('findanimateCode');
|
||||
this.formData.mobileCodeText = this.$lang('member.info.findanimateCode');
|
||||
this.isSend = false;
|
||||
clearInterval(this.timer);
|
||||
},
|
||||
@@ -104,7 +104,7 @@ export default {
|
||||
seconds(value) {
|
||||
if (value == 0) {
|
||||
this.seconds = 120;
|
||||
this.formData.mobileCodeText = this.$lang('findanimateCode');
|
||||
this.formData.mobileCodeText = this.$lang('member.info.findanimateCode');
|
||||
this.isSend = false;
|
||||
clearInterval(this.timer);
|
||||
}
|
||||
@@ -129,16 +129,16 @@ export default {
|
||||
initSexItems() {
|
||||
this.items = [{
|
||||
value: '0',
|
||||
name: this.$lang('sexUnknown')
|
||||
name: this.$lang('member.info.sexUnknown')
|
||||
},
|
||||
{
|
||||
value: '1',
|
||||
name: this.$lang('sexMale'),
|
||||
name: this.$lang('member.info.sexMale'),
|
||||
checked: 'true'
|
||||
},
|
||||
{
|
||||
value: '2',
|
||||
name: this.$lang('sexFemale')
|
||||
name: this.$lang('member.info.sexFemale')
|
||||
}
|
||||
];
|
||||
},
|
||||
@@ -158,25 +158,25 @@ export default {
|
||||
}
|
||||
},
|
||||
setNavbarTitle() {
|
||||
let title = this.$lang('title');
|
||||
let title = this.$lang('member.info.title');
|
||||
switch (this.indent) {
|
||||
case 'name':
|
||||
title = this.$lang('modifyNickname');
|
||||
title = this.$lang('member.info.modifyNickname');
|
||||
break;
|
||||
case 'realName':
|
||||
title = this.$lang('realName');
|
||||
title = this.$lang('member.info.realName');
|
||||
break;
|
||||
case 'sex':
|
||||
title = this.$lang('sex');
|
||||
title = this.$lang('member.info.sex');
|
||||
break;
|
||||
case 'birthday':
|
||||
title = this.$lang('birthday');
|
||||
title = this.$lang('member.info.birthday');
|
||||
break;
|
||||
case 'password':
|
||||
title = this.$lang('password');
|
||||
title = this.$lang('member.info.password');
|
||||
break;
|
||||
case 'mobile':
|
||||
title = this.$lang('mobile');
|
||||
title = this.$lang('member.info.mobilePhone');
|
||||
break;
|
||||
}
|
||||
this.$langConfig.title(title);
|
||||
@@ -186,9 +186,9 @@ export default {
|
||||
this.memberInfoformData.userHeadImg = this.memberInfo.headimg;
|
||||
this.memberInfoformData.number = this.memberInfo.username; //账号
|
||||
this.memberInfoformData.nickName = this.memberInfo.nickname; //昵称
|
||||
this.memberInfoformData.realName = this.memberInfo.realname ? this.memberInfo.realname : this.$lang('pleaseRealName'); //真实姓名
|
||||
this.memberInfoformData.sex = this.memberInfo.sex == 0 ? this.$lang('sexUnknown') : this.memberInfo.sex == 1 ? this.$lang('sexMale') : this.$lang('sexFemale'); //性别
|
||||
this.memberInfoformData.birthday = this.memberInfo.birthday ? this.$util.timeStampTurnTime(this.memberInfo.birthday, 'YYYY-MM-DD') : this.$lang('pleaseSelectBirthday'); //生日
|
||||
this.memberInfoformData.realName = this.memberInfo.realname ? this.memberInfo.realname : this.$lang('member.info.pleaseRealName'); //真实姓名
|
||||
this.memberInfoformData.sex = this.memberInfo.sex == 0 ? this.$lang('member.info.sexUnknown') : this.memberInfo.sex == 1 ? this.$lang('member.info.sexMale') : this.$lang('member.info.sexFemale'); //性别
|
||||
this.memberInfoformData.birthday = this.memberInfo.birthday ? this.$util.timeStampTurnTime(this.memberInfo.birthday, 'YYYY-MM-DD') : this.$lang('member.info.pleaseSelectBirthday'); //生日
|
||||
this.memberInfoformData.mobile = this.memberInfo.mobile; //手机号
|
||||
|
||||
this.formData.username = this.memberInfo.username; //用户名
|
||||
@@ -317,14 +317,14 @@ export default {
|
||||
modifyUserName() {
|
||||
if (this.formData.username == this.memberInfo.username) {
|
||||
this.$util.showToast({
|
||||
title: this.$lang('alikeusername')
|
||||
title: this.$lang('member.info_edit.alikeusername')
|
||||
});
|
||||
return;
|
||||
}
|
||||
var rule = [{
|
||||
name: 'username',
|
||||
checkType: 'required',
|
||||
errorMsg: this.$lang('noEmityUsername')
|
||||
errorMsg: this.$lang('member.info_edit.noEmityUsername')
|
||||
}];
|
||||
if (!rule.length) return;
|
||||
var checkRes = validate.check(this.formData, rule);
|
||||
@@ -339,7 +339,7 @@ export default {
|
||||
this.memberInfo.username = this.formData.username;
|
||||
this.$store.commit('setMemberInfo', this.memberInfo);
|
||||
this.$util.showToast({
|
||||
title: this.$lang("updateSuccess")
|
||||
title: this.$lang("member.info.updateSuccess")
|
||||
});
|
||||
this.NavReturn();
|
||||
} else {
|
||||
@@ -360,14 +360,14 @@ export default {
|
||||
modifyNickName() {
|
||||
if (this.formData.nickName == this.memberInfo.nickname) {
|
||||
this.$util.showToast({
|
||||
title: this.$lang('alikeNickname')
|
||||
title: this.$lang('member.info.alikeNickname')
|
||||
});
|
||||
return;
|
||||
}
|
||||
var rule = [{
|
||||
name: 'nickName',
|
||||
checkType: 'required',
|
||||
errorMsg: this.$lang('noEmityNickname')
|
||||
errorMsg: this.$lang('member.info.noEmityNickname')
|
||||
}];
|
||||
if (!rule.length) return;
|
||||
var checkRes = validate.check(this.formData, rule);
|
||||
@@ -382,7 +382,7 @@ export default {
|
||||
this.memberInfo.nickname = this.formData.nickName;
|
||||
this.$store.commit('setMemberInfo', this.memberInfo);
|
||||
this.$util.showToast({
|
||||
title: this.$lang("updateSuccess")
|
||||
title: this.$lang("member.info.updateSuccess")
|
||||
});
|
||||
this.NavReturn();
|
||||
} else {
|
||||
@@ -403,14 +403,14 @@ export default {
|
||||
modifyRealName() {
|
||||
if (this.formData.realName == this.memberInfo.realname && this.memberInfo.realname) {
|
||||
this.$util.showToast({
|
||||
title: this.$lang('alikeRealName')
|
||||
title: this.$lang('member.info.alikeRealName')
|
||||
});
|
||||
return;
|
||||
}
|
||||
var rule = [{
|
||||
name: 'realName',
|
||||
checkType: 'required',
|
||||
errorMsg: this.$lang('noEmptyRealName')
|
||||
errorMsg: this.$lang('member.info.noEmptyRealName')
|
||||
}];
|
||||
if (!rule.length) return;
|
||||
var checkRes = validate.check(this.formData, rule);
|
||||
@@ -425,7 +425,7 @@ export default {
|
||||
this.memberInfo.realname = this.formData.realName;
|
||||
this.$store.commit('setMemberInfo', this.memberInfo);
|
||||
this.$util.showToast({
|
||||
title: this.$lang("updateSuccess")
|
||||
title: this.$lang("member.info.updateSuccess")
|
||||
});
|
||||
this.NavReturn();
|
||||
} else {
|
||||
@@ -463,7 +463,7 @@ export default {
|
||||
this.memberInfo.sex = this.formData.sex;
|
||||
this.$store.commit('setMemberInfo', this.memberInfo);
|
||||
this.$util.showToast({
|
||||
title: this.$lang("updateSuccess")
|
||||
title: this.$lang("member.info.updateSuccess")
|
||||
});
|
||||
this.NavReturn();
|
||||
} else {
|
||||
@@ -500,7 +500,7 @@ export default {
|
||||
modifyBirthday() {
|
||||
if (this.formData.birthday.length == 0) {
|
||||
this.$util.showToast({
|
||||
title: this.$lang('pleaseSelectBirthday')
|
||||
title: this.$lang('member.info.pleaseSelectBirthday')
|
||||
});
|
||||
return;
|
||||
}
|
||||
@@ -514,7 +514,7 @@ export default {
|
||||
this.memberInfo.birthday = this.$util.timeTurnTimeStamp(this.formData.birthday);
|
||||
this.$store.commit('setMemberInfo', this.memberInfo);
|
||||
this.$util.showToast({
|
||||
title: this.$lang("updateSuccess")
|
||||
title: this.$lang("member.info.updateSuccess")
|
||||
});
|
||||
this.NavReturn();
|
||||
} else {
|
||||
@@ -545,29 +545,29 @@ export default {
|
||||
var rule = [{
|
||||
name: 'currentPassword',
|
||||
checkType: 'required',
|
||||
errorMsg: this.$lang("pleaseInputOldPassword")
|
||||
errorMsg: this.$lang("member.info.pleaseInputOldPassword")
|
||||
},
|
||||
{
|
||||
name: 'newPassword',
|
||||
checkType: 'required',
|
||||
errorMsg: this.$lang("pleaseInputNewPassword")
|
||||
errorMsg: this.$lang("member.info.pleaseInputNewPassword")
|
||||
}
|
||||
];
|
||||
} else {
|
||||
var rule = [{
|
||||
name: 'mobileVercode',
|
||||
checkType: 'required',
|
||||
errorMsg: this.$lang("confirmCodeInput")
|
||||
errorMsg: this.$lang("member.info.confirmCodeInput")
|
||||
},
|
||||
{
|
||||
name: 'mobileDynacode',
|
||||
checkType: 'required',
|
||||
errorMsg: this.$lang("animateCodeInput")
|
||||
errorMsg: this.$lang("member.info.animateCodeInput")
|
||||
},
|
||||
{
|
||||
name: 'newPassword',
|
||||
checkType: 'required',
|
||||
errorMsg: this.$lang("pleaseInputNewPassword")
|
||||
errorMsg: this.$lang("member.info.pleaseInputNewPassword")
|
||||
}
|
||||
];
|
||||
}
|
||||
@@ -578,31 +578,31 @@ export default {
|
||||
name: 'newPassword',
|
||||
checkType: 'lengthMin',
|
||||
checkRule: regConfig.pwd_len,
|
||||
errorMsg: this.$lang('passwordMinLength', { num: regConfig.pwd_len })
|
||||
errorMsg: this.$lang('member.info.passwordMinLength', { num: regConfig.pwd_len })
|
||||
});
|
||||
}
|
||||
if (regConfig.pwd_complexity) {
|
||||
let passwordErrorMsg = this.$lang('passwordComplexityPrefix'),
|
||||
let passwordErrorMsg = this.$lang('member.info.passwordComplexityPrefix'),
|
||||
reg = '';
|
||||
let firstItem = true;
|
||||
if (regConfig.pwd_complexity.indexOf('number') != -1) {
|
||||
reg += '(?=.*?[0-9])';
|
||||
passwordErrorMsg += (firstItem ? '' : this.$lang('passwordSeparator')) + this.$lang('passwordNumber');
|
||||
passwordErrorMsg += (firstItem ? '' : this.$lang('member.info.passwordSeparator')) + this.$lang('member.info.passwordNumber');
|
||||
firstItem = false;
|
||||
}
|
||||
if (regConfig.pwd_complexity.indexOf('letter') != -1) {
|
||||
reg += '(?=.*?[a-z])';
|
||||
passwordErrorMsg += (firstItem ? '' : this.$lang('passwordSeparator')) + this.$lang('passwordLowercase');
|
||||
passwordErrorMsg += (firstItem ? '' : this.$lang('member.info.passwordSeparator')) + this.$lang('member.info.passwordLowercase');
|
||||
firstItem = false;
|
||||
}
|
||||
if (regConfig.pwd_complexity.indexOf('upper_case') != -1) {
|
||||
reg += '(?=.*?[A-Z])';
|
||||
passwordErrorMsg += (firstItem ? '' : this.$lang('passwordSeparator')) + this.$lang('passwordUppercase');
|
||||
passwordErrorMsg += (firstItem ? '' : this.$lang('member.info.passwordSeparator')) + this.$lang('member.info.passwordUppercase');
|
||||
firstItem = false;
|
||||
}
|
||||
if (regConfig.pwd_complexity.indexOf('symbol') != -1) {
|
||||
reg += '(?=.*?[#?!@$%^&*-])';
|
||||
passwordErrorMsg += (firstItem ? '' : this.$lang('passwordSeparator')) + this.$lang('passwordSymbol');
|
||||
passwordErrorMsg += (firstItem ? '' : this.$lang('member.info.passwordSeparator')) + this.$lang('member.info.passwordSymbol');
|
||||
firstItem = false;
|
||||
}
|
||||
rule.push({
|
||||
@@ -616,13 +616,13 @@ export default {
|
||||
if (checkRes) {
|
||||
if (this.formData.currentPassword == this.formData.newPassword) {
|
||||
this.$util.showToast({
|
||||
title: this.$lang('samePassword')
|
||||
title: this.$lang('member.info.samePassword')
|
||||
});
|
||||
return;
|
||||
}
|
||||
if (this.formData.newPassword != this.formData.confirmPassword) {
|
||||
this.$util.showToast({
|
||||
title: this.$lang('alikePassword')
|
||||
title: this.$lang('member.info.alikePassword')
|
||||
});
|
||||
return;
|
||||
}
|
||||
@@ -639,7 +639,7 @@ export default {
|
||||
this.memberInfo.password = 1;
|
||||
this.$store.commit('setMemberInfo', this.memberInfo);
|
||||
this.$util.showToast({
|
||||
title: this.$lang('updateSuccess')
|
||||
title: this.$lang('member.info.updateSuccess')
|
||||
});
|
||||
this.NavReturn();
|
||||
uni.removeStorageSync('password_mobile_key');
|
||||
@@ -664,11 +664,11 @@ export default {
|
||||
var rule = [{
|
||||
name: 'mobile',
|
||||
checkType: 'required',
|
||||
errorMsg: this.$lang('pleaseInputMobile')
|
||||
errorMsg: this.$lang('member.info.pleaseInputMobile')
|
||||
}, {
|
||||
name: 'mobile',
|
||||
checkType: 'phoneno',
|
||||
errorMsg: this.$lang('surePhoneNumber')
|
||||
errorMsg: this.$lang('member.info.surePhoneNumber')
|
||||
}];
|
||||
var checkRes = validate.check(this.formData, rule);
|
||||
if (!checkRes) {
|
||||
@@ -704,12 +704,12 @@ export default {
|
||||
var rule = [{
|
||||
name: 'mobile',
|
||||
checkType: 'phoneno',
|
||||
errorMsg: this.$lang("surePhoneNumber")
|
||||
errorMsg: this.$lang("member.info.surePhoneNumber")
|
||||
},
|
||||
{
|
||||
name: 'mobileVercode',
|
||||
checkType: 'required',
|
||||
errorMsg: this.$lang("confirmCodeInput")
|
||||
errorMsg: this.$lang("member.info.confirmCodeInput")
|
||||
},
|
||||
];
|
||||
|
||||
@@ -730,7 +730,7 @@ export default {
|
||||
if (this.seconds == 120 && this.timer == null) {
|
||||
this.timer = setInterval(() => {
|
||||
this.seconds--;
|
||||
this.formData.mobileCodeText = this.$lang('codeSent', { seconds: this.seconds });
|
||||
this.formData.mobileCodeText = this.$lang('member.info.codeSent', { seconds: this.seconds });
|
||||
}, 1000);
|
||||
}
|
||||
uni.setStorageSync('mobile_key', data.key);
|
||||
@@ -748,7 +748,7 @@ export default {
|
||||
});
|
||||
} else {
|
||||
this.$util.showToast({
|
||||
title: validate.error ? validate.error : this.$lang('doNotRepeatedlyClick')
|
||||
title: validate.error ? validate.error : this.$lang('member.info.doNotRepeatedlyClick')
|
||||
});
|
||||
}
|
||||
},
|
||||
@@ -757,17 +757,17 @@ export default {
|
||||
var mobileRule = [{
|
||||
name: 'mobile',
|
||||
checkType: 'phoneno',
|
||||
errorMsg: this.$lang("surePhoneNumber")
|
||||
errorMsg: this.$lang("member.info.surePhoneNumber")
|
||||
},
|
||||
{
|
||||
name: 'mobileVercode',
|
||||
checkType: 'required',
|
||||
errorMsg: this.$lang("confirmCodeInput")
|
||||
errorMsg: this.$lang("member.info.confirmCodeInput")
|
||||
},
|
||||
{
|
||||
name: 'mobileDynacode',
|
||||
checkType: 'required',
|
||||
errorMsg: this.$lang("animateCodeInput")
|
||||
errorMsg: this.$lang("member.info.animateCodeInput")
|
||||
},
|
||||
];
|
||||
var checkRes = validate.check(this.formData, mobileRule);
|
||||
@@ -775,7 +775,7 @@ export default {
|
||||
if (checkRes) {
|
||||
if (this.formData.mobile == this.memberInfo.mobile) {
|
||||
this.$util.showToast({
|
||||
title: this.$lang("alikePhone")
|
||||
title: this.$lang("member.info.alikePhone")
|
||||
});
|
||||
return;
|
||||
}
|
||||
@@ -793,7 +793,7 @@ export default {
|
||||
this.memberInfo.mobile = this.formData.mobile;
|
||||
this.$store.commit('setMemberInfo', this.memberInfo);
|
||||
this.$util.showToast({
|
||||
title: this.$lang("updateSuccess")
|
||||
title: this.$lang("member.info.updateSuccess")
|
||||
});
|
||||
if (this.back) {
|
||||
this.$util.redirectTo('/pages_tool/member/pay_password', {
|
||||
@@ -828,7 +828,7 @@ export default {
|
||||
|
||||
if (this.formData.mobileVercode == '') {
|
||||
this.$util.showToast({
|
||||
title: this.$lang("confirmCodeInput")
|
||||
title: this.$lang("member.info.confirmCodeInput")
|
||||
});
|
||||
return;
|
||||
}
|
||||
@@ -847,7 +847,7 @@ export default {
|
||||
if (this.seconds == 120 && this.timer == null) {
|
||||
this.timer = setInterval(() => {
|
||||
this.seconds--;
|
||||
this.formData.mobileCodeText = this.$lang('codeSent', { seconds: this.seconds });
|
||||
this.formData.mobileCodeText = this.$lang('member.info.codeSent', { seconds: this.seconds });
|
||||
}, 1000);
|
||||
}
|
||||
uni.setStorageSync('password_mobile_key', data.key);
|
||||
@@ -865,7 +865,7 @@ export default {
|
||||
});
|
||||
} else {
|
||||
this.$util.showToast({
|
||||
title: this.$lang('doNotRepeatedlyClick')
|
||||
title: this.$lang('member.info.doNotRepeatedlyClick')
|
||||
});
|
||||
}
|
||||
},
|
||||
@@ -873,12 +873,12 @@ export default {
|
||||
var rule = [{
|
||||
name: 'fullAddress',
|
||||
checkType: 'required',
|
||||
errorMsg: this.$lang('pleaseSelectRegion')
|
||||
errorMsg: this.$lang('member.info.pleaseSelectRegion')
|
||||
},
|
||||
{
|
||||
name: 'address',
|
||||
checkType: 'required',
|
||||
errorMsg: this.$lang('pleaseInputDetailAddress')
|
||||
errorMsg: this.$lang('member.info.pleaseInputDetailAddress')
|
||||
}
|
||||
];
|
||||
if (!rule.length) return;
|
||||
@@ -902,7 +902,7 @@ export default {
|
||||
this.memberInfo.full_address = this.formData.fullAddress;
|
||||
this.$store.commit('setMemberInfo', this.memberInfo);
|
||||
this.$util.showToast({
|
||||
title: this.$lang("updateSuccess")
|
||||
title: this.$lang("member.info.updateSuccess")
|
||||
});
|
||||
this.NavReturn();
|
||||
} else {
|
||||
@@ -953,7 +953,7 @@ export default {
|
||||
success: res => {
|
||||
if (res.code == 0) {
|
||||
this.$util.showToast({
|
||||
title: this.$lang("updateSuccess")
|
||||
title: this.$lang("member.info.updateSuccess")
|
||||
});
|
||||
this.NavReturn();
|
||||
} else {
|
||||
|
||||
@@ -98,12 +98,12 @@ export default {
|
||||
filePath: res.tempFilePath,
|
||||
success: () => {
|
||||
this.$util.showToast({
|
||||
title: this.$lang('saveSuccess')
|
||||
title: this.$lang('member.invite_friends.saveSuccess')
|
||||
});
|
||||
},
|
||||
fail: () => {
|
||||
this.$util.showToast({
|
||||
title: this.$lang('saveFailed')
|
||||
title: this.$lang('member.invite_friends.saveFailed')
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
@@ -28,7 +28,7 @@ export default {
|
||||
setTimeout( () => {
|
||||
if (!this.addonIsExist.membersignin) {
|
||||
this.$util.showToast({
|
||||
title: this.$lang('signinNotEnabled'),
|
||||
title: this.$lang('member.signin.signinNotEnabled',
|
||||
mask: true,
|
||||
duration: 2000
|
||||
});
|
||||
@@ -196,7 +196,7 @@ export default {
|
||||
sign() {
|
||||
if (this.signState == 0) {
|
||||
this.$util.showToast({
|
||||
title: this.$lang('signinClosed')
|
||||
title: this.$lang('member.signin.signinClosed')
|
||||
})
|
||||
}
|
||||
|
||||
@@ -231,8 +231,8 @@ export default {
|
||||
let shareUrl = this.$config.h5Domain + '/pages_tool/member/signin';
|
||||
|
||||
this.$util.setPublicShare({
|
||||
title: this.$lang('title'),
|
||||
desc: this.$lang('shareDesc'),
|
||||
title: this.$lang('member.signin.title'),
|
||||
desc: this.$lang('member.signin.shareDesc'),
|
||||
link: shareUrl,
|
||||
imgUrl: ''
|
||||
},
|
||||
@@ -263,7 +263,7 @@ export default {
|
||||
onShareAppMessage() {
|
||||
var path = '/pages_tool/member/signin';
|
||||
return {
|
||||
title: this.$lang('shareTitle'),
|
||||
title: this.$lang('member.signin.shareTitle'),
|
||||
imageUrl: '',
|
||||
path: path,
|
||||
success: res => {},
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
</view>
|
||||
</block>
|
||||
<block v-else>
|
||||
<ns-empty :isIndex="false" :text="$lang('emptyTips')"></ns-empty>
|
||||
<ns-empty :isIndex="false" :text="$lang('member.withdrawal.emptyTips')"></ns-empty>
|
||||
</block>
|
||||
</view>
|
||||
</mescroll-uni>
|
||||
|
||||
@@ -7,9 +7,9 @@
|
||||
<view class="order-item" v-for="(item, index) in refundList" :key="index">
|
||||
<view class="order-header">
|
||||
<text class="status-num font-size-base">{{ item.order_no }}</text>
|
||||
<view class="status-name" v-if="item.refund_status == 3">{{ $lang('status.success') }}</view>
|
||||
<view class="status-name color-base-text" v-if="item.refund_status == 1">{{ $lang('status.processing') }}</view>
|
||||
<view class="status-name color-base-text" v-if="item.refund_status == -1">{{ $lang('status.failed') }}</view>
|
||||
<view class="status-name" v-if="item.refund_status == 3">{{ $lang('order.activist.status.success') }}</view>
|
||||
<view class="status-name color-base-text" v-if="item.refund_status == 1">{{ $lang('order.activist.status.processing') }}</view>
|
||||
<view class="status-name color-base-text" v-if="item.refund_status == -1">{{ $lang('order.activist.status.failed') }}</view>
|
||||
</view>
|
||||
<view class="goods-wrap">
|
||||
<image :src="$util.img(item.sku_image, { size: 'mid' })" @error="imageError(index)" mode="aspectFill" :lazy-load="true" show-menu-by-longpress></image>
|
||||
@@ -26,11 +26,11 @@
|
||||
</view>
|
||||
<view class="goods-btn">
|
||||
<view class="btn-text">
|
||||
<text>{{ $lang('totalItems', { num: item.num }) }}</text>
|
||||
<text>{{ $lang('refundAmount', { currency: $lang('common.currencySymbol'), amount: item.refund_status == 3 ? item.refund_real_money : item.refund_apply_money }) }}</text>
|
||||
<text>{{ $lang('order.activist.totalItems', { num: item.num }) }}</text>
|
||||
<text>{{ $lang('order.activist.refundAmount', { currency: $lang('common.currencySymbol'), amount: item.refund_status == 3 ? item.refund_real_money : item.refund_apply_money }) }}</text>
|
||||
</view>
|
||||
<view class="order-action">
|
||||
<view class="order-box-btn" @click="refundDetail(item.order_goods_id)">{{ $lang('checkDetail') }}</view>
|
||||
<view class="order-box-btn" @click="refundDetail(item.order_goods_id)">{{ $lang('order.activist.checkDetail') }}</view>
|
||||
<block v-if="item.refund_action.length">
|
||||
<view
|
||||
class="order-box-btn"
|
||||
@@ -46,7 +46,7 @@
|
||||
</view>
|
||||
</block>
|
||||
<block v-else>
|
||||
<view class="cart-empty" v-if="showEmpty"><ns-empty :isIndex="false" :text="$lang('emptyTips')"></ns-empty></view>
|
||||
<view class="cart-empty" v-if="showEmpty"><ns-empty :isIndex="false" :text="$lang('order.activist.emptyTips')"></ns-empty></view>
|
||||
</block>
|
||||
</view>
|
||||
</block>
|
||||
@@ -112,7 +112,7 @@ export default {
|
||||
this.cancleRefund(data.order_goods_id, res => {
|
||||
if (res.code >= 0) {
|
||||
this.$util.showToast({
|
||||
title: this.$lang('toast.cancelSuccess')
|
||||
title: this.$lang('order.activist.toast.cancelSuccess')
|
||||
});
|
||||
this.$refs.mescroll.refresh();
|
||||
}
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
<template>
|
||||
<view :style="themeColor" class="invoice-container">
|
||||
<view class="invoice-header">
|
||||
<view class="header-title">{{ $lang('header.title') }}</view>
|
||||
<view class="header-desc">{{ $lang('header.desc') }}</view>
|
||||
<view class="header-title">{{ $lang('order.invoice.header.title') }}</view>
|
||||
<view class="header-desc">{{ $lang('order.invoice.header.desc') }}</view>
|
||||
</view>
|
||||
|
||||
<view class="invoice-section">
|
||||
<view class="section-title">{{ $lang('invoiceType.title') }}</view>
|
||||
<view class="section-title">{{ $lang('order.invoice.invoiceType.title') }}</view>
|
||||
<view class="invoice-type-list">
|
||||
<view
|
||||
class="type-item"
|
||||
@@ -16,8 +16,8 @@
|
||||
<view class="type-icon">
|
||||
<text class="iconfont icon-zhifubao"></text>
|
||||
</view>
|
||||
<view class="type-name">{{ $lang('invoiceType.paper') }}</view>
|
||||
<view class="type-desc">{{ $lang('invoiceType.paperDesc') }}</view>
|
||||
<view class="type-name">{{ $lang('order.invoice.invoiceType.paper') }}</view>
|
||||
<view class="type-desc">{{ $lang('order.invoice.invoiceType.paperDesc') }}</view>
|
||||
</view>
|
||||
<view
|
||||
class="type-item"
|
||||
@@ -27,66 +27,66 @@
|
||||
<view class="type-icon">
|
||||
<text class="iconfont icon-weixinzhifu"></text>
|
||||
</view>
|
||||
<view class="type-name">{{ $lang('invoiceType.electronic') }}</view>
|
||||
<view class="type-desc">{{ $lang('invoiceType.electronicDesc') }}</view>
|
||||
<view class="type-name">{{ $lang('order.invoice.invoiceType.electronic') }}</view>
|
||||
<view class="type-desc">{{ $lang('order.invoice.invoiceType.electronicDesc') }}</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="invoice-section">
|
||||
<view class="section-title">{{ $lang('invoiceTitle.title') }}</view>
|
||||
<view class="section-title">{{ $lang('order.invoice.invoiceTitle.title') }}</view>
|
||||
<view class="title-type-switch">
|
||||
<view
|
||||
class="switch-item"
|
||||
:class="{ active: formData.invoice_title_type == 1 }"
|
||||
@click="selectTitleType(1)"
|
||||
>
|
||||
{{ $lang('invoiceTitle.personal') }}
|
||||
{{ $lang('order.invoice.invoiceTitle.personal') }}
|
||||
</view>
|
||||
<view
|
||||
class="switch-item"
|
||||
:class="{ active: formData.invoice_title_type == 2 }"
|
||||
@click="selectTitleType(2)"
|
||||
>
|
||||
{{ $lang('invoiceTitle.company') }}
|
||||
{{ $lang('order.invoice.invoiceTitle.company') }}
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="form-item">
|
||||
<view class="form-label">
|
||||
<text class="required">*</text>
|
||||
{{ $lang('invoiceTitle.label') }}
|
||||
{{ $lang('order.invoice.invoiceTitle.label') }}
|
||||
</view>
|
||||
<input
|
||||
class="form-input"
|
||||
type="text"
|
||||
v-model="formData.invoice_title"
|
||||
:placeholder="formData.invoice_title_type == 1 ? $lang('invoiceTitle.personalPlaceholder') : $lang('invoiceTitle.companyPlaceholder')"
|
||||
:placeholder="formData.invoice_title_type == 1 ? $lang('order.invoice.invoiceTitle.personalPlaceholder') : $lang('order.invoice.invoiceTitle.companyPlaceholder')"
|
||||
/>
|
||||
</view>
|
||||
|
||||
<view class="form-item" v-if="formData.invoice_title_type == 2">
|
||||
<view class="form-label">
|
||||
<text class="required">*</text>
|
||||
{{ $lang('invoiceTitle.taxpayerId') }}
|
||||
{{ $lang('order.invoice.invoiceTitle.taxpayerId') }}
|
||||
</view>
|
||||
<input
|
||||
class="form-input"
|
||||
type="text"
|
||||
v-model="formData.taxpayer_id"
|
||||
:placeholder="$lang('invoiceTitle.taxpayerIdPlaceholder')"
|
||||
:placeholder="$lang('order.invoice.invoiceTitle.taxpayerIdPlaceholder')"
|
||||
/>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="invoice-section">
|
||||
<view class="section-title">{{ $lang('invoiceContent.title') }}</view>
|
||||
<view class="section-title">{{ $lang('order.invoice.invoiceContent.title') }}</view>
|
||||
<view class="form-item">
|
||||
<view class="form-label">{{ $lang('invoiceContent.label') }}</view>
|
||||
<view class="form-label">{{ $lang('order.invoice.invoiceContent.label') }}</view>
|
||||
<picker mode="selector" :range="invoiceContentList" range-key="name" @change="onContentChange">
|
||||
<view class="picker-value">
|
||||
<text v-if="formData.invoice_content">{{ formData.invoice_content }}</text>
|
||||
<text class="placeholder" v-else>{{ $lang('invoiceContent.placeholder') }}</text>
|
||||
<text class="placeholder" v-else>{{ $lang('order.invoice.invoiceContent.placeholder') }}</text>
|
||||
<text class="iconfont icon-youjiantou"></text>
|
||||
</view>
|
||||
</picker>
|
||||
@@ -94,40 +94,40 @@
|
||||
</view>
|
||||
|
||||
<view class="invoice-section" v-if="formData.invoice_type == 1">
|
||||
<view class="section-title">{{ $lang('mailInfo.title') }}</view>
|
||||
<view class="section-title">{{ $lang('order.invoice.mailInfo.title') }}</view>
|
||||
<view class="form-item">
|
||||
<view class="form-label">
|
||||
<text class="required">*</text>
|
||||
{{ $lang('mailInfo.receiver') }}
|
||||
{{ $lang('order.invoice.mailInfo.receiver') }}
|
||||
</view>
|
||||
<input
|
||||
class="form-input"
|
||||
type="text"
|
||||
v-model="formData.receiver_name"
|
||||
:placeholder="$lang('mailInfo.receiverPlaceholder')"
|
||||
:placeholder="$lang('order.invoice.mailInfo.receiverPlaceholder')"
|
||||
/>
|
||||
</view>
|
||||
<view class="form-item">
|
||||
<view class="form-label">
|
||||
<text class="required">*</text>
|
||||
{{ $lang('mailInfo.mobile') }}
|
||||
{{ $lang('order.invoice.mailInfo.mobile') }}
|
||||
</view>
|
||||
<input
|
||||
class="form-input"
|
||||
type="number"
|
||||
v-model="formData.receiver_mobile"
|
||||
:placeholder="$lang('mailInfo.mobilePlaceholder')"
|
||||
:placeholder="$lang('order.invoice.mailInfo.mobilePlaceholder')"
|
||||
/>
|
||||
</view>
|
||||
<view class="form-item">
|
||||
<view class="form-label">
|
||||
<text class="required">*</text>
|
||||
{{ $lang('mailInfo.address') }}
|
||||
{{ $lang('order.invoice.mailInfo.address') }}
|
||||
</view>
|
||||
<pick-regions :level="3" @finish="onRegionFinish">
|
||||
<view class="picker-value">
|
||||
<text v-if="formData.region">{{ formData.region }}</text>
|
||||
<text class="placeholder" v-else>{{ $lang('mailInfo.regionPlaceholder') }}</text>
|
||||
<text class="placeholder" v-else>{{ $lang('order.invoice.mailInfo.regionPlaceholder') }}</text>
|
||||
<text class="iconfont icon-youjiantou"></text>
|
||||
</view>
|
||||
</pick-regions>
|
||||
@@ -135,47 +135,47 @@
|
||||
<view class="form-item">
|
||||
<view class="form-label">
|
||||
<text class="required">*</text>
|
||||
{{ $lang('mailInfo.detailAddress') }}
|
||||
{{ $lang('order.invoice.mailInfo.detailAddress') }}
|
||||
</view>
|
||||
<input
|
||||
class="form-input"
|
||||
type="text"
|
||||
v-model="formData.address"
|
||||
:placeholder="$lang('mailInfo.detailAddressPlaceholder')"
|
||||
:placeholder="$lang('order.invoice.mailInfo.detailAddressPlaceholder')"
|
||||
/>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="invoice-section" v-if="formData.invoice_type == 2">
|
||||
<view class="section-title">{{ $lang('emailInfo.title') }}</view>
|
||||
<view class="section-title">{{ $lang('order.invoice.emailInfo.title') }}</view>
|
||||
<view class="form-item">
|
||||
<view class="form-label">
|
||||
<text class="required">*</text>
|
||||
{{ $lang('emailInfo.receiverEmail') }}
|
||||
{{ $lang('order.invoice.emailInfo.receiverEmail') }}
|
||||
</view>
|
||||
<input
|
||||
class="form-input"
|
||||
type="text"
|
||||
v-model="formData.invoice_email"
|
||||
:placeholder="$lang('emailInfo.emailPlaceholder')"
|
||||
:placeholder="$lang('order.invoice.emailInfo.emailPlaceholder')"
|
||||
/>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="invoice-fee" v-if="invoiceData && invoiceData.invoice_money > 0">
|
||||
<view class="fee-item">
|
||||
<text class="fee-label">{{ $lang('fee.taxFee') }}</text>
|
||||
<text class="fee-label">{{ $lang('order.invoice.fee.taxFee') }}</text>
|
||||
<text class="fee-value">¥{{ invoiceData.invoice_money }}</text>
|
||||
</view>
|
||||
<view class="fee-item" v-if="formData.invoice_type == 1 && invoiceData.invoice_delivery_money > 0">
|
||||
<text class="fee-label">{{ $lang('fee.deliveryFee') }}</text>
|
||||
<text class="fee-label">{{ $lang('order.invoice.fee.deliveryFee') }}</text>
|
||||
<text class="fee-value">¥{{ invoiceData.invoice_delivery_money }}</text>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="invoice-footer">
|
||||
<view class="footer-tip">{{ $lang('footer.tip', { days: 3 }) }}</view>
|
||||
<view class="submit-btn" @click="submitInvoice">{{ $lang('footer.submit') }}</view>
|
||||
<view class="footer-tip">{{ $lang('order.invoice.footer.tip', { days: 3 }) }}</view>
|
||||
<view class="submit-btn" @click="submitInvoice">{{ $lang('order.invoice.footer.submit') }}</view>
|
||||
</view>
|
||||
|
||||
<loading-cover ref="loadingCover"></loading-cover>
|
||||
@@ -244,7 +244,7 @@ export default {
|
||||
}
|
||||
} else {
|
||||
this.$util.showToast({
|
||||
title: res.message || this.$lang('api.getConfigFailed')
|
||||
title: res.message || this.$lang('order.invoice.api.getConfigFailed')
|
||||
});
|
||||
}
|
||||
}
|
||||
@@ -253,44 +253,44 @@ export default {
|
||||
validateForm() {
|
||||
if (!this.formData.invoice_title) {
|
||||
this.$util.showToast({
|
||||
title: this.$lang('validation.pleaseEnterTitle')
|
||||
title: this.$lang('order.invoice.validation.pleaseEnterTitle')
|
||||
});
|
||||
return false;
|
||||
}
|
||||
if (this.formData.invoice_title_type == 2 && !this.formData.taxpayer_id) {
|
||||
this.$util.showToast({
|
||||
title: this.$lang('validation.pleaseEnterTaxpayerId')
|
||||
title: this.$lang('order.invoice.validation.pleaseEnterTaxpayerId')
|
||||
});
|
||||
return false;
|
||||
}
|
||||
if (!this.formData.invoice_content) {
|
||||
this.$util.showToast({
|
||||
title: this.$lang('validation.pleaseSelectContent')
|
||||
title: this.$lang('order.invoice.validation.pleaseSelectContent')
|
||||
});
|
||||
return false;
|
||||
}
|
||||
if (this.formData.invoice_type == 1) {
|
||||
if (!this.formData.receiver_name) {
|
||||
this.$util.showToast({
|
||||
title: this.$lang('validation.pleaseEnterReceiver')
|
||||
title: this.$lang('order.invoice.validation.pleaseEnterReceiver')
|
||||
});
|
||||
return false;
|
||||
}
|
||||
if (!this.formData.receiver_mobile) {
|
||||
this.$util.showToast({
|
||||
title: this.$lang('validation.pleaseEnterMobile')
|
||||
title: this.$lang('order.invoice.validation.pleaseEnterMobile')
|
||||
});
|
||||
return false;
|
||||
}
|
||||
if (!this.formData.region_id) {
|
||||
this.$util.showToast({
|
||||
title: this.$lang('validation.pleaseSelectRegion')
|
||||
title: this.$lang('order.invoice.validation.pleaseSelectRegion')
|
||||
});
|
||||
return false;
|
||||
}
|
||||
if (!this.formData.address) {
|
||||
this.$util.showToast({
|
||||
title: this.$lang('validation.pleaseEnterAddress')
|
||||
title: this.$lang('order.invoice.validation.pleaseEnterAddress')
|
||||
});
|
||||
return false;
|
||||
}
|
||||
@@ -298,14 +298,14 @@ export default {
|
||||
if (this.formData.invoice_type == 2) {
|
||||
if (!this.formData.invoice_email) {
|
||||
this.$util.showToast({
|
||||
title: this.$lang('validation.pleaseEnterEmail')
|
||||
title: this.$lang('order.invoice.validation.pleaseEnterEmail')
|
||||
});
|
||||
return false;
|
||||
}
|
||||
const emailReg = /^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$/;
|
||||
if (!emailReg.test(this.formData.invoice_email)) {
|
||||
this.$util.showToast({
|
||||
title: this.$lang('validation.invalidEmail')
|
||||
title: this.$lang('order.invoice.validation.invalidEmail')
|
||||
});
|
||||
return false;
|
||||
}
|
||||
@@ -325,21 +325,21 @@ export default {
|
||||
this.$refs.loadingCover.hide();
|
||||
if (res.code >= 0) {
|
||||
this.$util.showToast({
|
||||
title: this.$lang('api.submitSuccess')
|
||||
title: this.$lang('order.invoice.api.submitSuccess')
|
||||
});
|
||||
setTimeout(() => {
|
||||
uni.navigateBack();
|
||||
}, 1500);
|
||||
} else {
|
||||
this.$util.showToast({
|
||||
title: res.message || this.$lang('api.submitFailed')
|
||||
title: res.message || this.$lang('order.invoice.api.submitFailed')
|
||||
});
|
||||
}
|
||||
},
|
||||
fail: () => {
|
||||
this.$refs.loadingCover.hide();
|
||||
this.$util.showToast({
|
||||
title: this.$lang('api.networkError')
|
||||
title: this.$lang('order.invoice.api.networkError')
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
@@ -34,11 +34,11 @@
|
||||
<view class="company-logo"><image :src="$util.img(packageItem.express_company_image)" show-menu-by-longpress></image></view>
|
||||
<view class="info">
|
||||
<view class="company">
|
||||
<text>{{ $lang('order.logistics.expressCompany') }}{{ packageItem.express_company_name }}</text>
|
||||
<text>{{ $lang('order.logistics.order.logistics.expressCompany') }}{{ packageItem.express_company_name }}</text>
|
||||
</view>
|
||||
<view class="no">
|
||||
<text>
|
||||
{{ $lang('order.logistics.trackingNo') }}
|
||||
{{ $lang('order.logistics.order.logistics.trackingNo') }}
|
||||
<text class="color-tip">{{ packageItem.delivery_no }}</text>
|
||||
</text>
|
||||
<text class="iconfont icon-fuzhi" @click="copyDeliveryNo(packageItem.delivery_no)"></text>
|
||||
@@ -124,7 +124,7 @@ export default {
|
||||
if (this.$refs.loadingCover) this.$refs.loadingCover.hide();
|
||||
} else {
|
||||
this.$util.showToast({
|
||||
title: this.$lang('order.logistics.orderInfoNotFound')
|
||||
title: this.$lang('order.logistics.order.logistics.orderInfoNotFound')
|
||||
});
|
||||
setTimeout(() => {
|
||||
this.$util.redirectTo('/pages_order/list');
|
||||
|
||||
@@ -7,8 +7,8 @@ export default {
|
||||
*/
|
||||
cancleRefund(order_goods_id, callback) {
|
||||
uni.showModal({
|
||||
content: this.$lang('cancelRefund.content'),
|
||||
cancelText: this.$lang('cancelRefund.cancelText'),
|
||||
content: this.$lang('order.refund.refund.cancelRefundContent'),
|
||||
cancelText: this.$lang('order.refund.refund.cancelRefundCancelText'),
|
||||
cancelColor: '#898989',
|
||||
success: res => {
|
||||
if (res.confirm) {
|
||||
|
||||
@@ -14,15 +14,15 @@
|
||||
<view class="refund-option" v-show="!refund_type">
|
||||
<view class="option-item" @click="selectRefundType(1)">
|
||||
<view>
|
||||
<text>{{ $lang('refundType.refundOnly') }}</text>
|
||||
<text class="font-size-goods-tag color-tip">{{ $lang('refundType.refundOnlyDesc') }}</text>
|
||||
<text>{{ $lang('order.refund.refundType.refundOnly') }}</text>
|
||||
<text class="font-size-goods-tag color-tip">{{ $lang('order.refund.refundType.refundOnlyDesc') }}</text>
|
||||
</view>
|
||||
<text class="iconfont icon-right"></text>
|
||||
</view>
|
||||
<view class="option-item" @click="selectRefundType(2)" v-if="refund_data.refund_type.length == 2">
|
||||
<view>
|
||||
<text>{{ $lang('refundType.returnRefund') }}</text>
|
||||
<text class="font-size-goods-tag color-tip">{{ $lang('refundType.returnRefundDesc') }}</text>
|
||||
<text>{{ $lang('order.refund.refundType.returnRefund') }}</text>
|
||||
<text class="font-size-goods-tag color-tip">{{ $lang('order.refund.refundType.returnRefundDesc') }}</text>
|
||||
</view>
|
||||
<text class="iconfont icon-right"></text>
|
||||
</view>
|
||||
@@ -31,27 +31,27 @@
|
||||
<view v-show="refund_type">
|
||||
<view class="refund-form">
|
||||
<view class="item-wrap" @click="openPopup('refundReasonPopup')">
|
||||
<view class="label">{{ $lang('form.refundReason') }}</view>
|
||||
<view class="label">{{ $lang('order.refund.form.refundReason') }}</view>
|
||||
<view class="cont reason">
|
||||
<text class="color-tip" v-if="!refund_reason.length">{{ $lang('form.pleaseSelect') }}</text>
|
||||
<text class="color-tip" v-if="!refund_reason.length">{{ $lang('order.refund.form.pleaseSelect') }}</text>
|
||||
<text class="color-tip" v-else>{{ refund_reason }}</text>
|
||||
</view>
|
||||
<text class="iconfont icon-right"></text>
|
||||
</view>
|
||||
<view class="item-wrap">
|
||||
<view class="label">{{ $lang('form.refundAmount') }}</view>
|
||||
<view class="label">{{ $lang('order.refund.form.refundAmount') }}</view>
|
||||
<view class="cont color-base-text">{{ $lang('common.currencySymbol') }}{{ refund_data.refund_money }}</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="refund-form">
|
||||
<view class="item-wrap"><view class="label active">{{ $lang('form.refundRemark') }}</view></view>
|
||||
<view class="item-wrap"><view class="label active">{{ $lang('order.refund.form.refundRemark') }}</view></view>
|
||||
|
||||
<!-- #ifdef MP-WEIXIN -->
|
||||
<textarea
|
||||
v-if="!showText"
|
||||
class="newText"
|
||||
:placeholder="$lang('form.remarkPlaceholder')"
|
||||
:placeholder="$lang('order.refund.form.remarkPlaceholder')"
|
||||
placeholder-class="color-tip font-size-tag"
|
||||
:auto-height="true"
|
||||
v-model="refund_remark"
|
||||
@@ -60,7 +60,7 @@
|
||||
<!-- #ifdef H5 -->
|
||||
<textarea
|
||||
class="newText"
|
||||
:placeholder="$lang('form.remarkPlaceholder')"
|
||||
:placeholder="$lang('order.refund.form.remarkPlaceholder')"
|
||||
@blur="textBlur()"
|
||||
placeholder-class="color-tip font-size-tag"
|
||||
:auto-height="true"
|
||||
@@ -78,7 +78,7 @@
|
||||
<uni-popup ref="refundReasonPopup" type="bottom" @change="change()">
|
||||
<view class="refund-reason-popup popup">
|
||||
<view class="popup-header">
|
||||
<view><text class="tit">{{ $lang('reasonPopup.title') }}</text></view>
|
||||
<view><text class="tit">{{ $lang('order.refund.reasonPopup.title') }}</text></view>
|
||||
<view class="align-right" @click="closePopup('refundReasonPopup')"><text class="iconfont icon-close"></text></view>
|
||||
</view>
|
||||
<view class="popup-body">
|
||||
@@ -92,7 +92,7 @@
|
||||
</scroll-view>
|
||||
</view>
|
||||
<view class="popup-footer" :class="{ 'bottom-safe-area': isIphoneX }">
|
||||
<view class="confirm-btn color-base-bg" @click="closePopup('refundReasonPopup')">{{ $lang('reasonPopup.confirm') }}</view>
|
||||
<view class="confirm-btn color-base-bg" @click="closePopup('refundReasonPopup')">{{ $lang('order.refund.reasonPopup.confirm') }}</view>
|
||||
</view>
|
||||
</view>
|
||||
</uni-popup>
|
||||
@@ -172,7 +172,7 @@ export default {
|
||||
this.refund_data = res.data;
|
||||
if (this.$refs.loadingCover) this.$refs.loadingCover.hide();
|
||||
} else {
|
||||
this.$util.showToast({ title: this.$lang('toast.noRefundInfo') });
|
||||
this.$util.showToast({ title: this.$lang('order.refund.toast.noRefundInfo') });
|
||||
setTimeout(() => {
|
||||
this.$util.redirectTo('/pages_order/list');
|
||||
}, 1000);
|
||||
@@ -239,7 +239,7 @@ export default {
|
||||
},
|
||||
verify() {
|
||||
if (this.refund_reason == '') {
|
||||
this.$util.showToast({ title: this.$lang('validate.pleaseSelectRefundReason') });
|
||||
this.$util.showToast({ title: this.$lang('order.refund.validate.pleaseSelectRefundReason') });
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
|
||||
@@ -5,37 +5,37 @@
|
||||
<view class="status-wrap">
|
||||
<view class="status-name">{{ detail.refund_status_name }}</view>
|
||||
<view class="refund-explain" v-if="detail.refund_status == 1">
|
||||
<view class="font-size-goods-tag color-tip">{{ $lang('statusTip.merchantReject') }}</view>
|
||||
<view class="font-size-goods-tag color-tip">{{ $lang('statusTip.merchantAgree') }}</view>
|
||||
<view class="font-size-goods-tag color-tip">{{ $lang('order.refund_detail.statusTip.merchantReject') }}</view>
|
||||
<view class="font-size-goods-tag color-tip">{{ $lang('order.refund_detail.statusTip.merchantAgree') }}</view>
|
||||
<!-- <view class="font-size-goods-tag color-tip">如果商家逾期未处理,平台将自动通过申请并退款给你</view> -->
|
||||
</view>
|
||||
<view class="refund-explain" v-if="detail.refund_status == 5">
|
||||
<view class="font-size-goods-tag color-tip">{{ $lang('statusTip.merchantConfirmReceive') }}</view>
|
||||
<view class="font-size-goods-tag color-tip">{{ $lang('statusTip.merchantRejectReceive') }}</view>
|
||||
<view class="font-size-goods-tag color-tip">{{ $lang('order.refund_detail.statusTip.merchantConfirmReceive') }}</view>
|
||||
<view class="font-size-goods-tag color-tip">{{ $lang('order.refund_detail.statusTip.merchantRejectReceive') }}</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="history-wrap" @click="switchAction('consultrecord')">
|
||||
<view>{{ $lang('consultRecord') }}</view>
|
||||
<view>{{ $lang('order.refund_detail.consultRecord') }}</view>
|
||||
<text class="iconfont icon-right"></text>
|
||||
</view>
|
||||
|
||||
<view class="refund-address-wrap" v-if="detail.refund_status == 4">
|
||||
<view class="header">{{ $lang('returnAddress.title') }}</view>
|
||||
<view class="header">{{ $lang('order.refund_detail.returnAddress.title') }}</view>
|
||||
<view>
|
||||
<text>{{ $lang('returnAddress.receiver') }}{{ detail.shop_contacts }}</text>
|
||||
<text>{{ $lang('order.refund_detail.returnAddress.receiver') }}{{ detail.shop_contacts }}</text>
|
||||
</view>
|
||||
<view>
|
||||
<text>{{ $lang('returnAddress.contact') }}{{ detail.shop_mobile }}</text>
|
||||
<text>{{ $lang('order.refund_detail.returnAddress.contact') }}{{ detail.shop_mobile }}</text>
|
||||
</view>
|
||||
<view>
|
||||
<text class="address">{{ $lang('returnAddress.address') }}{{ detail.shop_address }}</text>
|
||||
<view class="copy" @click="$util.copy(detail.shop_address)">{{ $lang('returnAddress.copy') }}</view>
|
||||
<text class="address">{{ $lang('order.refund_detail.returnAddress.address') }}{{ detail.shop_address }}</text>
|
||||
<view class="copy" @click="$util.copy(detail.shop_address)">{{ $lang('order.refund_detail.returnAddress.copy') }}</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="refund-info">
|
||||
<view class="header">{{ $lang('refundInfo.title') }}</view>
|
||||
<view class="header">{{ $lang('order.refund_detail.refundInfo.title') }}</view>
|
||||
<view class="body">
|
||||
<!-- 商品信息 -->
|
||||
<view class="goods-wrap">
|
||||
@@ -48,16 +48,16 @@
|
||||
</view>
|
||||
<!-- 退款信息 -->
|
||||
<view class="info">
|
||||
<view class="cell">{{ $lang('refundInfo.refundMethod') }}{{ detail.refund_type == 1 ? $lang('refundInfo.refundOnly') : $lang('refundInfo.refundReturn') }}</view>
|
||||
<view class="cell" v-if="detail.refund_status == 3">{{ $lang('refundInfo.refundChannel') }}{{ detail.refund_money_type == 1 ? $lang('refundInfo.originalRefund') : detail.refund_money_type == 2 ? $lang('refundInfo.offlineRefund') : $lang('refundInfo.balanceRefund') }}</view>
|
||||
<view class="cell">{{ $lang('refundInfo.refundReason') }}{{ detail.refund_reason }}</view>
|
||||
<view class="cell" v-if="detail.refund_status == 3 && detail.refund_real_money>0">{{ $lang('refundInfo.refundAmount') }}{{ $lang('common.currencySymbol') }}{{ detail.refund_real_money }}</view>
|
||||
<view class="cell" v-else-if="detail.refund_apply_money>0">{{ $lang('refundInfo.refundAmount') }}{{ $lang('common.currencySymbol') }}{{ detail.refund_apply_money }}</view>
|
||||
<view class="cell">{{ $lang('refundInfo.refundNo') }}{{ detail.refund_no }}</view>
|
||||
<view class="cell">{{ $lang('refundInfo.applyTime') }}{{ $util.timeStampTurnTime(detail.refund_action_time) }}</view>
|
||||
<view class="cell" v-if="detail.refund_time">{{ $lang('refundInfo.refundTime') }}{{ $util.timeStampTurnTime(detail.refund_time) }}</view>
|
||||
<view class="cell" v-if="detail.refund_remark != ''">{{ $lang('refundInfo.refundRemark') }}{{ detail.refund_remark }}</view>
|
||||
<view class="cell" v-if="detail.use_point>0">{{ $lang('refundInfo.refundPoint') }}{{ detail.use_point }}</view>
|
||||
<view class="cell">{{ $lang('order.refund_detail.refundInfo.refundMethod') }}{{ detail.refund_type == 1 ? $lang('order.refund_detail.refundInfo.refundOnly') : $lang('order.refund_detail.refundInfo.refundReturn') }}</view>
|
||||
<view class="cell" v-if="detail.refund_status == 3">{{ $lang('order.refund_detail.refundInfo.refundChannel') }}{{ detail.refund_money_type == 1 ? $lang('order.refund_detail.refundInfo.originalRefund') : detail.refund_money_type == 2 ? $lang('order.refund_detail.refundInfo.offlineRefund') : $lang('order.refund_detail.refundInfo.balanceRefund') }}</view>
|
||||
<view class="cell">{{ $lang('order.refund_detail.refundInfo.refundReason') }}{{ detail.refund_reason }}</view>
|
||||
<view class="cell" v-if="detail.refund_status == 3 && detail.refund_real_money>0">{{ $lang('order.refund_detail.refundInfo.refundAmount') }}{{ $lang('common.currencySymbol') }}{{ detail.refund_real_money }}</view>
|
||||
<view class="cell" v-else-if="detail.refund_apply_money>0">{{ $lang('order.refund_detail.refundInfo.refundAmount') }}{{ $lang('common.currencySymbol') }}{{ detail.refund_apply_money }}</view>
|
||||
<view class="cell">{{ $lang('order.refund_detail.refundInfo.refundNo') }}{{ detail.refund_no }}</view>
|
||||
<view class="cell">{{ $lang('order.refund_detail.refundInfo.applyTime') }}{{ $util.timeStampTurnTime(detail.refund_action_time) }}</view>
|
||||
<view class="cell" v-if="detail.refund_time">{{ $lang('order.refund_detail.refundInfo.refundTime') }}{{ $util.timeStampTurnTime(detail.refund_time) }}</view>
|
||||
<view class="cell" v-if="detail.refund_remark != ''">{{ $lang('order.refund_detail.refundInfo.refundRemark') }}{{ detail.refund_remark }}</view>
|
||||
<view class="cell" v-if="detail.use_point>0">{{ $lang('order.refund_detail.refundInfo.refundPoint') }}{{ detail.use_point }}</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
@@ -73,11 +73,11 @@
|
||||
<view class="return-goods-container">
|
||||
<view class="form-wrap">
|
||||
<view class="item">
|
||||
<view class="label">{{ $lang('returnGoods.expressCompany') }}</view>
|
||||
<view class="label">{{ $lang('order.refund_detail.returnGoods.expressCompany') }}</view>
|
||||
<view class="cont">
|
||||
<input
|
||||
type="text"
|
||||
:placeholder="$lang('returnGoods.expressCompanyPlaceholder')"
|
||||
:placeholder="$lang('order.refund_detail.returnGoods.expressCompanyPlaceholder')"
|
||||
class="input"
|
||||
placeholder-class="input-placeholder color-tip"
|
||||
v-model="formData.refund_delivery_name"
|
||||
@@ -85,11 +85,11 @@
|
||||
</view>
|
||||
</view>
|
||||
<view class="item">
|
||||
<view class="label">{{ $lang('returnGoods.expressNo') }}</view>
|
||||
<view class="label">{{ $lang('order.refund_detail.returnGoods.expressNo') }}</view>
|
||||
<view class="cont">
|
||||
<input
|
||||
type="text"
|
||||
:placeholder="$lang('returnGoods.expressNoPlaceholder')"
|
||||
:placeholder="$lang('order.refund_detail.returnGoods.expressNoPlaceholder')"
|
||||
class="input"
|
||||
placeholder-class="input-placeholder color-tip"
|
||||
v-model="formData.refund_delivery_no"
|
||||
@@ -97,13 +97,13 @@
|
||||
</view>
|
||||
</view>
|
||||
<view class="item">
|
||||
<view class="label">{{ $lang('returnGoods.expressRemark') }}</view>
|
||||
<view class="label">{{ $lang('order.refund_detail.returnGoods.expressRemark') }}</view>
|
||||
<view class="cont">
|
||||
<textarea
|
||||
placeholder-class="color-tip font-size-tag"
|
||||
:auto-height="true"
|
||||
class="textarea"
|
||||
:placeholder="$lang('returnGoods.expressRemarkPlaceholder')"
|
||||
:placeholder="$lang('order.refund_detail.returnGoods.expressRemarkPlaceholder')"
|
||||
v-model="formData.refund_delivery_remark"
|
||||
/>
|
||||
</view>
|
||||
@@ -118,7 +118,7 @@
|
||||
<view class="record-item" :class="logItem.action_way == 1 ? 'buyer' : ''" v-for="(logItem, logIndex) in detail.refund_log_list" :key="logIndex">
|
||||
<view class="cont">
|
||||
<view class="head">
|
||||
<text>{{ logItem.action_way == 1 ? $lang('record.buyer') : $lang('record.seller') }}</text>
|
||||
<text>{{ logItem.action_way == 1 ? $lang('order.refund_detail.record.buyer') : $lang('order.refund_detail.record.seller') }}</text>
|
||||
<text class="time">{{ $util.timeStampTurnTime(logItem.action_time) }}</text>
|
||||
</view>
|
||||
<view class="body">
|
||||
@@ -136,7 +136,7 @@
|
||||
<text>联系客服</text>
|
||||
</view>
|
||||
</ns-contact> -->
|
||||
<view @click="switchAction('')">{{ $lang('record.backToDetail') }}</view>
|
||||
<view @click="switchAction('')">{{ $lang('order.refund_detail.record.backToDetail') }}</view>
|
||||
</view>
|
||||
</view>
|
||||
</scroll-view>
|
||||
@@ -190,7 +190,7 @@ export default {
|
||||
this.detail = res.data;
|
||||
if (this.$refs.loadingCover) this.$refs.loadingCover.hide();
|
||||
} else {
|
||||
this.$util.showToast({ title: this.$lang('toast.noRefundInfo') });
|
||||
this.$util.showToast({ title: this.$lang('order.refund_detail.toast.noRefundInfo') });
|
||||
setTimeout(() => {
|
||||
this.$util.redirectTo('/pages_order/list');
|
||||
}, 1000);
|
||||
@@ -206,7 +206,7 @@ export default {
|
||||
case 'orderRefundCancel':
|
||||
this.cancleRefund(this.detail.order_goods_id, res => {
|
||||
if (res.code >= 0) {
|
||||
this.$util.showToast({ title: this.$lang('toast.cancelSuccess') });
|
||||
this.$util.showToast({ title: this.$lang('order.refund_detail.toast.cancelSuccess') });
|
||||
setTimeout(() => {
|
||||
this.$util.redirectTo('/pages_order/list');
|
||||
}, 1000);
|
||||
@@ -223,8 +223,8 @@ export default {
|
||||
},
|
||||
refurnGoods() {
|
||||
var rule = [
|
||||
{ name: 'refund_delivery_name', checkType: 'required', errorMsg: this.$lang('validate.pleaseInputExpressCompany') },
|
||||
{ name: 'refund_delivery_no', checkType: 'required', errorMsg: this.$lang('validate.pleaseInputExpressNo') }
|
||||
{ name: 'refund_delivery_name', checkType: 'required', errorMsg: this.$lang('order.refund_detail.validate.pleaseInputExpressCompany') },
|
||||
{ name: 'refund_delivery_no', checkType: 'required', errorMsg: this.$lang('order.refund_detail.validate.pleaseInputExpressNo') }
|
||||
];
|
||||
this.formData.order_goods_id = this.order_goods_id;
|
||||
var checkRes = validate.check(this.formData, rule);
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<template>
|
||||
<view class="goods-select" :style="themeColor">
|
||||
<view class="top">
|
||||
{{ $lang('totalItems', { count: refund_data.length }) }}
|
||||
{{ $lang('order.refund_goods_select.totalItems', { count: refund_data.length }) }}
|
||||
</view>
|
||||
|
||||
<view class="body">
|
||||
@@ -24,8 +24,8 @@
|
||||
<text v-else class="iconfont icon-yuan_checkbox"></text> -->
|
||||
</view>
|
||||
|
||||
<view v-if="nexthover" class="next" @click="next">{{ $lang('next') }}</view>
|
||||
<view v-else class="next nexthover">{{ $lang('selectGoods') }}</view>
|
||||
<view v-if="nexthover" class="next" @click="next">{{ $lang('order.refund_goods_select.next') }}</view>
|
||||
<view v-else class="next nexthover">{{ $lang('order.refund_goods_select.selectGoods') }}</view>
|
||||
</view>
|
||||
|
||||
<!-- <loading-cover ref="loadingCover"></loading-cover> -->
|
||||
@@ -50,7 +50,7 @@
|
||||
this.getGoodsInfo()
|
||||
} else{
|
||||
uni.showToast({
|
||||
title: this.$lang('orderInfoNotFound'),
|
||||
title: this.$lang('order.refund_goods_select.orderInfoNotFound'),
|
||||
icon:'none'
|
||||
})
|
||||
setTimeout(()=>{
|
||||
|
||||
@@ -4,15 +4,15 @@
|
||||
<view class="refund-option">
|
||||
<view class="option-item" @click="selectRefundType(1)">
|
||||
<view>
|
||||
<text>{{ $lang('refundTypeSelect.refundOnly') }}</text>
|
||||
<text class="font-size-goods-tag color-tip">{{ $lang('refundTypeSelect.refundOnlyDesc') }}</text>
|
||||
<text>{{ $lang('order.refund_type_select.refundTypeSelect.refundOnly') }}</text>
|
||||
<text class="font-size-goods-tag color-tip">{{ $lang('order.refund_type_select.refundTypeSelect.refundOnlyDesc') }}</text>
|
||||
</view>
|
||||
<text class="iconfont icon-right"></text>
|
||||
</view>
|
||||
<view class="option-item" @click="selectRefundType(2)" v-if="refund_data.order_status == 3">
|
||||
<view>
|
||||
<text>{{ $lang('refundTypeSelect.returnRefund') }}</text>
|
||||
<text class="font-size-goods-tag color-tip">{{ $lang('refundTypeSelect.returnRefundDesc') }}</text>
|
||||
<text>{{ $lang('order.refund_type_select.refundTypeSelect.returnRefund') }}</text>
|
||||
<text class="font-size-goods-tag color-tip">{{ $lang('order.refund_type_select.refundTypeSelect.returnRefundDesc') }}</text>
|
||||
</view>
|
||||
<text class="iconfont icon-right"></text>
|
||||
</view>
|
||||
@@ -75,7 +75,7 @@
|
||||
if (this.$refs.loadingCover) this.$refs.loadingCover.hide();
|
||||
} else {
|
||||
this.$util.showToast({
|
||||
title: this.$lang('toast.noRefundInfo')
|
||||
title: this.$lang('order.refund_type_select.toast.noRefundInfo')
|
||||
});
|
||||
setTimeout(() => {
|
||||
this.$util.redirectTo('/pages_order/list');
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
<view class="payment-item" v-for="(item, index) in payTypeList" :key="index" @click="payIndex = index">
|
||||
<view>
|
||||
<text class="iconfont" :class="item.icon"></text>
|
||||
<text class="name">{{ $lang('pay.cashier.' + item.type, item.name) }}</text>
|
||||
<text class="name">{{ $lang(item.i18nKey, item.name) }}</text>
|
||||
</view>
|
||||
<text class="iconfont" :class="payIndex == index ? 'icon-yuan_checked color-base-text' : 'icon-checkboxblank'"></text>
|
||||
</view>
|
||||
@@ -42,12 +42,14 @@ export default {
|
||||
{
|
||||
name: '支付宝支付',
|
||||
icon: 'icon-zhifubaozhifu-',
|
||||
type: 'alipay'
|
||||
type: 'alipay',
|
||||
i18nKey: 'pay.cashier.alipay'
|
||||
},
|
||||
{
|
||||
name: '微信支付',
|
||||
icon: 'icon-weixin1',
|
||||
type: 'wechatpay'
|
||||
type: 'wechatpay',
|
||||
i18nKey: 'pay.cashier.wechatpay'
|
||||
}
|
||||
],
|
||||
timer: null,
|
||||
@@ -57,7 +59,8 @@ export default {
|
||||
name: '微信支付',
|
||||
provider: 'wxpay',
|
||||
icon: 'icon-weixin1',
|
||||
type: 'wechatpay'
|
||||
type: 'wechatpay',
|
||||
i18nKey: 'pay.cashier.wechatpay'
|
||||
}],
|
||||
// #endif
|
||||
payInfo: null,
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
<view :style="themeColor">
|
||||
<scroll-view scroll-y="true" class="pay-container">
|
||||
<view class="payment-amount">
|
||||
<text class="amount-tit">{{ $lang('paymentAmount') }}</text>
|
||||
<text class="amount-tit">{{ $lang('pay.index.paymentAmount') }}</text>
|
||||
<view class="amount-num">
|
||||
{{ $lang('common.currencySymbol') }}
|
||||
<text>{{ payInfo.pay_money }}</text>
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
<view class="mask-img">
|
||||
<image :src="$util.img('public/uniapp/pay/invite_friends_share.png')" mode="aspectFit" show-menu-by-longpress></image>
|
||||
</view>
|
||||
<view class="mask-word">{{ $lang('pay.wxPay.openInBrowserTip') }}</view>
|
||||
<view class="mask-word">{{ $lang('pay.wx_pay.openInBrowserTip') }}</view>
|
||||
</view>
|
||||
</template>
|
||||
<script>
|
||||
|
||||
@@ -9,24 +9,24 @@
|
||||
</view> -->
|
||||
|
||||
<view class="recharge-box">
|
||||
<view class="recharge-box-title">{{ $lang('rechargeAmount') }}
|
||||
<view @click="toOrderList"><text class="color-base-text" style="color:#1db03b !important">{{ $lang('rechargeRecords') }}</text></view>
|
||||
<view class="recharge-box-title">{{ $lang('recharge.list.rechargeAmount') }}
|
||||
<view @click="toOrderList"><text class="color-base-text" style="color:#1db03b !important">{{ $lang('recharge.list.rechargeRecords') }}</text></view>
|
||||
</view>
|
||||
<view class="box-content">
|
||||
|
||||
<view class="money">
|
||||
<text class="label">¥</text>
|
||||
<view class="input-box">
|
||||
<input class="reg-input" v-model="payMoney" :placeholder="$lang('placeholderEnterAmount')" placeholder-style="font-size:32rpx;color:#969696;font-weight:500"></input>
|
||||
<input class="reg-input" v-model="payMoney" :placeholder="$lang('recharge.list.placeholderEnterAmount')" placeholder-style="font-size:32rpx;color:#969696;font-weight:500"></input>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view v-if="list.length" class="content-item" v-for="(item, index) in list" :key="index" @click="itemClick(index, item.recharge_id, item.buy_price)" :class="isIndex == index ? 'active' : ''">
|
||||
<view class="price1 ">
|
||||
<text class="price-font">{{ parseFloat(item.face_value).toFixed(0) }}</text>
|
||||
<text>{{ $lang('yuan') }}</text>
|
||||
<text>{{ $lang('recharge.list.yuan') }}</text>
|
||||
</view>
|
||||
<view class="price2">{{ $lang('salePrice', { price: item.buy_price }) }}</view>
|
||||
<view class="price2">{{ $lang('recharge.list.salePrice', { price: item.buy_price }) }}</view>
|
||||
</view>
|
||||
|
||||
<!-- <view class="content-item" @click="openRecharge()">
|
||||
@@ -62,12 +62,12 @@
|
||||
</view> -->
|
||||
<uni-popup ref="rechargePopup" type="bottom">
|
||||
<view class="rechargeList">
|
||||
<view class="tip">{{ $lang('pleaseEnterAmount') }}</view>
|
||||
<view class="tip">{{ $lang('recharge.list.pleaseEnterAmount') }}</view>
|
||||
<view class="input color-tip">
|
||||
{{keywordsInfo.price?keywordsInfo.price:$lang('amount')}}<text class="color-base-text">{{ $lang('yuan') }}</text>
|
||||
{{keywordsInfo.price?keywordsInfo.price:$lang('recharge.list.amount')}}<text class="color-base-text">{{ $lang('recharge.list.yuan') }}</text>
|
||||
</view>
|
||||
<view class="input color-tip">
|
||||
<text class="color-base-text" v-if="payMoney > 0">{{ $lang('salePrice', { price: payMoney }) }}</text>
|
||||
<text class="color-base-text" v-if="payMoney > 0">{{ $lang('recharge.list.salePrice', { price: payMoney }) }}</text>
|
||||
</view>
|
||||
<view class="keywords">
|
||||
<view class="keywords-left">
|
||||
@@ -86,7 +86,7 @@
|
||||
</view>
|
||||
<view class="keywords-right">
|
||||
<view @click="delPrice"><text class="iconfont icon-close"></text></view>
|
||||
<view class="color-base-bg" @click="keywordsPayment()">{{ $lang('confirmRecharge') }}</view>
|
||||
<view class="color-base-bg" @click="keywordsPayment()">{{ $lang('recharge.list.confirmRecharge') }}</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
@@ -94,7 +94,7 @@
|
||||
<!-- 选择支付方式弹窗 -->
|
||||
<ns-payment ref="choosePaymentPopup" :payMoney="payMoney" @confirm="toPay"></ns-payment>
|
||||
<view style="background: #fff;width: 100%;position: fixed;bottom: 0rpx;">
|
||||
<button class="add-account" type="primary" @click="submitPayment" >{{ $lang('recharge') }}</button>
|
||||
<button class="add-account" type="primary" @click="submitPayment" >{{ $lang('recharge.list.recharge') }}</button>
|
||||
</view>
|
||||
|
||||
<!-- <button class="add-account" type="primary" :disabled="recharge_id > 0 ? false : true" @click="openChoosePayment">充值</button> -->
|
||||
@@ -176,7 +176,7 @@
|
||||
this.openChoosePayment()
|
||||
} else {
|
||||
this.$util.showToast({
|
||||
title: this.$lang('pleaseEnterAmount')
|
||||
title: this.$lang('recharge.list.pleaseEnterAmount')
|
||||
})
|
||||
}
|
||||
|
||||
@@ -273,7 +273,7 @@
|
||||
});
|
||||
} else {
|
||||
this.$util.showToast({
|
||||
title: this.$lang('pleaseSelectPackage')
|
||||
title: this.$lang('recharge.list.pleaseSelectPackage')
|
||||
});
|
||||
}
|
||||
},
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
</view>
|
||||
</view>
|
||||
<view class="order-body">
|
||||
<view class="goods_info_flex"><view class="goods-name font-size-base">{{ $lang('recharge.rechargeSuccess') }}</view></view>
|
||||
<view class="goods_info_flex"><view class="goods-name font-size-base">{{ $lang('recharge.order_list.recharge.rechargeSuccess') }}</view></view>
|
||||
|
||||
<view class="goods-img color-base-text">
|
||||
¥
|
||||
@@ -31,7 +31,7 @@
|
||||
</view>
|
||||
</view>
|
||||
</block>
|
||||
<view v-else><ns-empty :isIndex="false" :text="$lang('recharge.noRecord')"></ns-empty></view>
|
||||
<view v-else><ns-empty :isIndex="false" :text="$lang('recharge.order_list.recharge.noRecord')"></ns-empty></view>
|
||||
</block>
|
||||
</mescroll-uni>
|
||||
<loading-cover ref="loadingCover"></loading-cover>
|
||||
|
||||
Reference in New Issue
Block a user