feat: add and optimize multiple multilingual language packs

1. 新增拼团、砍价、分销、支付、地址、账户等多业务场景的中英文本地化文案
2. 替换项目中硬编码的文本为多语言调用,统一前端页面文案展示
3. 新增多个业务组件的国际化语言配置文件
This commit is contained in:
2026-06-26 10:17:33 +08:00
parent 066ca61d97
commit 66a579d48c
73 changed files with 1378 additions and 380 deletions

View File

@@ -9,7 +9,7 @@
<view class="uni-scroll-view-content">
<!-- #endif -->
<view class="quick-nav-item" :class="{ selected: categoryId == 0 }"
@click="changeCategory(0)">全部</view>
@click="changeCategory(0)">{{ $lang('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)">
@@ -34,29 +34,29 @@
</view>
<view class="goods-bottom">
<view class="goods-price color-base-text">
<text class="font-size-tag">¥</text>
<text class="font-size-tag">{{ $lang('common.currencySymbol') }}</text>
{{ item.discount_price }}
</view>
<view class="goods-share" @click.stop="shareFn('goods', index)">
<text class="icondiy icon-system-share"></text>
<text class="txt" v-if="!is_fenxiao">分享</text>
<text class="txt" v-else>赚{{ item.commission_money }}元</text>
<text class="txt" v-if="!is_fenxiao">{{ $lang('share') }}</text>
<text class="txt" v-else>{{ $lang('earnCommission', { money: item.commission_money }) }}</text>
</view>
</view>
</view>
</view>
<view class="empty" v-if="goodsList.length == 0">
<ns-empty :isIndex="false" text="暂无分销商品" textColor="#fff"></ns-empty>
<ns-empty :isIndex="false" :text="$lang('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">分享好友</button>
<button class="share-btn" :plain="true" open-type="share">{{ $lang('shareFriends') }}</button>
<text class="tag">|</text>
<!-- #endif -->
<text class="btn" @click="shareFn('fenxiao')">生成海报</text>
<text class="btn" @click="shareFn('fenxiao')">{{ $lang('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">分享</view>
<view class="share-title">{{ $lang('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>分享给好友</text>
<text>{{ $lang('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>分享到好物圈</text>
<text>{{ $lang('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>生成分享海报</text>
<text>{{ $lang('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>复制链接</text>
<text>{{ $lang('copyLink') }}</text>
</button>
</view>
<!-- #endif -->
</view>
<view class="share-footer" @click="closeSharePopup"><text>取消分享</text></view>
<view class="share-footer" @click="closeSharePopup"><text>{{ $lang('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()">保存图片</view>
<view class="save" @click="saveGoodsPoster()">{{ $lang('saveImage') }}</view>
<!-- #endif -->
<!-- #ifdef H5 -->
<view class="save">长按保存图片</view>
<view class="save">{{ $lang('longPressSaveImage') }}</view>
<!-- #endif -->
</view>
<view class="close iconfont icon-close" @click="closePosterPopup()"></view>

View File

@@ -3,7 +3,7 @@
<view class="withdraw-cate">
<block v-for="(item, index) in category" :key="index">
<view @click="selectCate(item.id)" class="cate-li"
:class="{ 'active color-base-text color-base-bg-before': selectId == item.id }">{{ item.name }}
:class="{ 'active color-base-text color-base-bg-before': selectId == item.id }">{{ $lang(item.nameKey) }}
</view>
</block>
</view>
@@ -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">已退款</text>
<text class="status-name color-base-text" v-if="orderItem.is_refund == 1">{{ $lang('statusRefunded') }}</text>
<text class="status-name color-text-green"
v-else-if="orderItem.is_settlement == 1">已结算</text>
<text class="status-name color-text-orange" v-else>待结算</text>
v-else-if="orderItem.is_settlement == 1">{{ $lang('statusSettled') }}</text>
<text class="status-name color-text-orange" v-else>{{ $lang('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">返{{ fenxiaoWords.account }}</text>
<text class="color-tip">{{ $lang('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>合计:</text>
<text>{{ $lang('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="暂无订单" :isIndex="false"
<ns-empty :text="$lang('noOrders')" :isIndex="false"
v-if="selectId == 0 && orderList.length == 0 && emptyShow"></ns-empty>
<ns-empty text="暂无待结算订单" :isIndex="false"
<ns-empty :text="$lang('noPendingSettlementOrders')" :isIndex="false"
v-if="selectId == 1 && orderList.length == 0 && emptyShow"></ns-empty>
<ns-empty text="暂无已结算订单" :isIndex="false"
<ns-empty :text="$lang('noSettledOrders')" :isIndex="false"
v-if="selectId == 2 && orderList.length == 0 && emptyShow"></ns-empty>
<ns-empty text="暂无已退款订单" :isIndex="false"
<ns-empty :text="$lang('noRefundedOrders')" :isIndex="false"
v-if="selectId == 3 && orderList.length == 0 && emptyShow"></ns-empty>
</view>
</view>
@@ -108,22 +108,22 @@ export default {
category: [
{
id: 0,
name: '全部',
nameKey: 'all',
number: 2
},
{
id: 1,
name: '待结算',
nameKey: 'pendingSettlement',
number: 0
},
{
id: 2,
name: '已结算',
nameKey: 'settled',
number: 0
},
{
id: 3,
name: '已退款',
nameKey: 'refunded',
number: 0
}
],
@@ -142,7 +142,7 @@ export default {
setTimeout(() => {
if (!this.addonIsExist.fenxiao) {
this.$util.showToast({
title: '商家未开启分销',
title: this.$lang('merchantNotOpenFenxiao'),
mask: true,
duration: 2000
});
@@ -152,7 +152,7 @@ export default {
}
}, 1000);
if (this.fenxiaoWords && this.fenxiaoWords.concept) this.$langConfig.title(this.fenxiaoWords.concept + '订单');
if (this.fenxiaoWords && this.fenxiaoWords.concept) this.$langConfig.title(this.fenxiaoWords.concept + this.$lang('orderSuffix'));
if (!this.storeToken) {
this.$nextTick(() => {

View File

@@ -4,11 +4,11 @@
<view class="order-detail-box">
<view class="header">
<view class="title">
<text>共{{ orderData.num }}件商品</text>
<text>{{ $lang('totalItems', { count: orderData.num }) }}</text>
</view>
<text class="color-base-text font-size-tag" v-if="orderData.is_refund == 1">已退款</text>
<text class="color-base-text font-size-tag" v-else-if="orderData.is_settlement == 1">已结算</text>
<text class="color-base-text font-size-tag" v-else>待结算</text>
<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>
</view>
<view class="detail-body">
<view class="detail-body-box">
@@ -18,7 +18,7 @@
<view class="goods-sub-section margin-top">
<view>
<text class="goods-price">
<text class="unit price-color">¥</text>
<text class="unit price-color">{{ $lang('common.currencySymbol') }}</text>
<text class="price-color font-size-toolbar" >{{ parseFloat(orderData.price).toFixed(2).split(".")[0] }}</text>
<text class="unit price-color">.{{ parseFloat(orderData.price).toFixed(2).split(".")[1] }}</text>
</text>
@@ -37,29 +37,29 @@
<view class="detail-footer">
<text></text>
<text>
<text>合计:</text>
<text class="price-color total">¥{{ orderData.real_goods_money }}</text>
<text>{{ $lang('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>返佣详情</text></view>
<view class="title color-base-bg-before"><text>{{ $lang('commissionDetail') }}</text></view>
<text class="color-base-text">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</text>
</view>
<view class="detail-content">
<view class="order-info-item">
<text class="tit">订单编号:</text>
<text class="tit">{{ $lang('orderNo') }}</text>
<text>{{ orderData.order_no }}</text>
</view>
<view class="order-info-item">
<text class="tit">分佣层级:</text>
<text>{{ orderData.commission_level }}级</text>
<text class="tit">{{ $lang('commissionLevel') }}</text>
<text>{{ $lang('levelText', { level: orderData.commission_level }) }}</text>
</view>
<view class="order-info-item">
<text class="tit">返佣金额:</text>
<text class="tit">{{ $lang('commissionAmount') }}</text>
<text class="price-color font-size-toolbar">
<text class="font-size-goods-tag">¥</text>
<text class="font-size-goods-tag">{{ $lang('common.currencySymbol') }}</text>
{{ parseFloat(orderData.commission).toFixed(2).split(".")[0] }}
<text class="font-size-goods-tag">.{{ parseFloat(orderData.commission).toFixed(2).split(".")[1] }}</text>
</text>
@@ -100,7 +100,7 @@ export default {
setTimeout( () => {
if (!this.addonIsExist.fenxiao) {
this.$util.showToast({
title: '商家未开启分销',
title: this.$lang('merchantNotOpenFenxiao'),
mask: true,
duration: 2000
});
@@ -133,7 +133,7 @@ export default {
this.orderData = res.data;
} else {
this.$util.showToast({
title: '未获取到订单信息!'
title: this.$lang('orderInfoNotFound')
});
setTimeout(() => {
this.$util.redirectTo('/pages_promotion/fenxiao/order', {}, 'redirectTo');

View File

@@ -11,22 +11,22 @@
</swiper>
<!-- #ifdef H5 -->
<view class="tips">长按识别图中二维码</view>
<view class="tips">{{ $lang('longPressTip') }}</view>
<!-- #endif -->
<!-- #ifdef MP -->
<view class="btn color-base-bg color-base-border" @click="save">保存海报</view>
<view class="btn color-base-bg color-base-border" @click="save">{{ $lang('savePoster') }}</view>
<!-- #endif -->
<uni-popup ref="popupDialog" :custom="true" :mask-click="false">
<view class="dialog-popup">
<view class="title">提示</view>
<view class="message">您拒绝了保存图片到相册的授权请求,无法保存图片到相册,如需正常使用,请授权之后再进行操作。</view>
<view class="title">{{ $lang('dialogTitle') }}</view>
<view class="message">{{ $lang('authDeniedMessage') }}</view>
<view class="action-wrap">
<view @click="closeDialog">取消</view>
<view @click="closeDialog">{{ $lang('cancel') }}</view>
<view>
<button type="default" open-type="openSetting" @opensetting="closeDialog"
hover-class="none">立即授权</button>
hover-class="none">{{ $lang('authorizeNow') }}</button>
</view>
</view>
</view>
@@ -95,7 +95,7 @@ export default {
filePath: res.tempFilePath,
success: () => {
this.$util.showToast({
title: '保存成功'
title: this.$lang('saveSuccess')
});
},
fail: res => {
@@ -104,20 +104,20 @@ export default {
this.$refs.popupDialog.open();
} else {
this.$util.showToast({
title: '保存失败,请稍后重试'
title: this.$lang('saveFail')
});
}
}
});
} else {
this.$util.showToast({
title: '下载失败'
title: this.$lang('downloadFail')
});
}
},
fail: res => {
this.$util.showToast({
title: '下载失败'
title: this.$lang('downloadFail')
});
}
});
@@ -136,7 +136,7 @@ export default {
});
} catch {
this.$util.showToast({
title: '海报生成失败'
title: this.$lang('posterGenerateFail')
});
}
},
@@ -149,7 +149,7 @@ export default {
setTimeout(() => {
if (!this.addonIsExist.fenxiao) {
this.$util.showToast({
title: '商家未开启分销',
title: this.$lang('merchantNotOpenFenxiao'),
mask: true,
duration: 2000
});

View File

@@ -22,7 +22,7 @@ export default {
setTimeout(() => {
if (!this.addonIsExist.fenxiao) {
this.$util.showToast({
title: '商家未开启分销',
title: this.$lang('merchantNotOpenFenxiao'),
mask: true,
duration: 2000
});
@@ -48,7 +48,7 @@ export default {
return;
}
if (this.fenxiaoWords && this.fenxiaoWords.concept) this.$langConfig.title(this.fenxiaoWords.concept + '中心');
if (this.fenxiaoWords && this.fenxiaoWords.concept) this.$langConfig.title(this.fenxiaoWords.concept + this.$lang('center'));
this.is_fenxiao = Boolean(this.memberInfo.is_fenxiao);
},
methods: {
@@ -157,7 +157,7 @@ export default {
//生成海报
getGoodsPoster() {
uni.showLoading({
'title': '海报生成中...'
'title': this.$lang('posterGenerating')
});
let url = "";
let data = {};
@@ -204,12 +204,12 @@ export default {
filePath: res.tempFilePath,
success: () => {
this.$util.showToast({
title: "保存成功"
title: this.$lang('saveSuccess')
});
},
fail: () => {
this.$util.showToast({
title: "保存失败,请稍后重试"
title: this.$lang('saveFail')
});
}
});

View File

@@ -16,9 +16,9 @@
</view>
<view class="withdrawal"
@click="$util.redirectTo('/pages_promotion/fenxiao/withdraw_apply')"
v-if="type == 'profit'">点击提现</view>
v-if="type == 'profit'">{{ $lang('clickToWithdraw') }}</view>
<view class="withdrawal" @click="$util.redirectTo('/pages_promotion/fenxiao/team')"
v-if="type == 'invited_num'">我的团队</view>
v-if="type == 'invited_num'">{{ $lang('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">分销佣金</text>
<text class="all-money-num">{{ info.today_commission }}元</text>
<text class="all-money-tit">{{ $lang('distributionCommission') }}</text>
<text class="all-money-num">{{ $lang('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">佣金排行</text>
<text class="all-money-num">您排行第{{ ranking }}名</text>
<text class="all-money-tit">{{ $lang('commissionRanking') }}</text>
<text class="all-money-num">{{ $lang('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">推广人数</text>
<text class="all-money-num">{{ info.one_child_num }}人</text>
<text class="all-money-tit">{{ $lang('promotionCount') }}</text>
<text class="all-money-num">{{ $lang('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'">推广排行</text>
<text class="all-money-num">您排行第{{ ranking }}名</text>
<text class="all-money-tit" v-if="type == 'invited_num'">{{ $lang('promotionRanking') }}</text>
<text class="all-money-num">{{ $lang('rankingTip', { ranking: ranking }) }}</text>
</view>
</view>
</view>
</view>
<view class="title-rakn-text" v-if="type == 'profit'">佣金排行</view>
<view class="title-rakn-text" v-if="type == 'invited_num'">推广排行</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="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'">{{ item.child_num }}人
<view class="price-font price-style" v-if="type == 'invited_num'">{{ $lang('promotionPeople', { count: item.child_num }) }}
</view>
</view>
</view>
</block>
<block v-if="list.length == 0 && emptyShow">
<ns-empty text="暂无数据" :isIndex="false"></ns-empty>
<ns-empty :text="$lang('noData')" :isIndex="false"></ns-empty>
</block>
</view>
</mescroll-uni>

View File

@@ -4,7 +4,7 @@
<block v-for="(item, index) in levelList" :key="index">
<view class="cate-li"
:class="{ 'active color-base-text color-base-border': currentLevel == item.level }"
@click="selectLevel(item.level)">{{ item.name }}</view>
@click="selectLevel(item.level)">{{ $lang(item.nameKey) }}</view>
</block>
</view>
<mescroll-uni ref="mescroll" @getData="getData" :top="levelNum > 1 ? 90 : 0" class="member-point" :size="8"
@@ -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">加入时间:{{
<view class="color-tip font-size-goods-tag">{{ $lang('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') }}
</view>
<view>
<text>{{ item.order_num }}</text>
单
{{ $lang('orderUnit') }}
</view>
<view>
<text>{{ item.order_money | moneyFormat }}</text>
元
{{ $lang('currencyUnit') }}
</view>
</view>
</block>
@@ -50,21 +50,21 @@
<text>{{ item.nickname }}</text>
</view>
</view>
<view class="color-tip font-size-goods-tag">加入时间:{{
<view class="color-tip font-size-goods-tag">{{ $lang('joinTime') }}{{
$util.timeStampTurnTime(item.bind_fenxiao_time).substring(0, 10) }}</view>
</view>
<view class="consume-info">
<view>
<text>0</text>
人
{{ $lang('peopleUnit') }}
</view>
<view>
<text>{{ item.order_num }}</text>
单
{{ $lang('orderUnit') }}
</view>
<view>
<text>{{ item.order_money | moneyFormat }}</text>
元
{{ $lang('currencyUnit') }}
</view>
</view>
</block>
@@ -72,7 +72,7 @@
</view>
</view>
</view>
<block v-if="teamList.length == 0 && emptyShow"><ns-empty text="暂无数据" :isIndex="false"></ns-empty>
<block v-if="teamList.length == 0 && emptyShow"><ns-empty :text="$lang('noData')" :isIndex="false"></ns-empty>
</block>
</block>
</mescroll-uni>
@@ -89,11 +89,11 @@ export default {
return {
levelList: [
{
name: '一级',
nameKey: 'levelOne',
level: 1
},
{
name: '二级',
nameKey: 'levelTwo',
level: 2
}
],
@@ -108,7 +108,7 @@ export default {
setTimeout(() => {
if (!this.addonIsExist.fenxiao) {
this.$util.showToast({
title: '商家未开启分销',
title: this.$lang('merchantNotOpenFenxiao'),
mask: true,
duration: 2000
});

View File

@@ -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">提现到</text>
<view class="tx-bank" v-if="bankAccountInfo.withdraw_type == 'wechatpay'">微信默认钱包</view>
<text class="tx-to">{{ $lang('withdrawTo') }}</text>
<view class="tx-bank" v-if="bankAccountInfo.withdraw_type == 'wechatpay'">{{ $lang('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">请添加提现账户</text>
<text class="tx-to" v-else-if="!isBalance">{{ $lang('pleaseAddWithdrawAccount') }}</text>
<view class="tx-wrap" v-else="isBalance">
<text class="tx-to">提现到</text>
<view class="tx-bank">余额</view>
<text class="tx-to">{{ $lang('withdrawTo') }}</text>
<view class="tx-bank">{{ $lang('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">提现金额:</view>
<view class="withdraw-wrap-title">{{ $lang('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('common.currencySymbol') }}{{ withdrawInfo.account | moneyFormat }}</text>
<text class="all-tx color-base-text" @click="allTx">全部提现</text>
<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>
</view>
</view>
<view class="desc">
<text v-if="withdrawConfigInfo.withdraw > 0">最小提现金额为{{ $lang('common.currencySymbol') }}{{ withdrawConfigInfo.withdraw | moneyFormat }},</text>
<text v-if="withdrawConfigInfo.max > 0">最大提现金额为{{ $lang('common.currencySymbol') }}{{ (withdrawConfigInfo.max > withdrawInfo.account ? withdrawInfo.account : withdrawConfigInfo.max) | moneyFormat }},</text>
<text>手续费为{{ withdrawConfigInfo.withdraw_rate + '%' }}</text>
<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>
</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">提现</button>
<button data-v-800ec5da="" class="renren-btn do false middle">{{ $lang('withdrawBtn') }}</button>
</view>
</view>
@@ -175,7 +175,7 @@
verify() {
if (this.withdrawMoney == '' || this.withdrawMoney < 0 || isNaN(parseFloat(this.withdrawMoney))) {
this.$util.showToast({
title: '请输入提现金额'
title: this.$lang('pleaseEnterWithdrawAmount')
});
return false;
}
@@ -186,14 +186,14 @@
}
if (parseFloat(this.withdrawMoney) > 0 && (parseFloat(this.withdrawMoney) > parseFloat(money))) {
this.$util.showToast({
title: '提现金额超出可提现金额'
title: this.$lang('withdrawAmountExceeds')
});
return false;
}
if (parseFloat(this.withdrawMoney) > 0 && (parseFloat(this.withdrawMoney) < parseFloat(this
.withdrawConfigInfo.withdraw))) {
this.$util.showToast({
title: '提现金额小于最低提现金额'
title: this.$lang('withdrawAmountBelowMin')
});
return false;
}
@@ -202,7 +202,7 @@
withdraw() {
if (!this.bankAccountInfo.withdraw_type && !this.isBalance) {
this.$util.showToast({
title: '请先添加提现方式'
title: this.$lang('pleaseAddWithdrawMethod')
});
return;
}
@@ -235,7 +235,7 @@
success: res => {
if (res.code >= 0) {
this.$util.showToast({
title: '提现申请成功'
title: this.$lang('withdrawApplySuccess')
});
setTimeout(() => {
this.$util.redirectTo('/pages_promotion/fenxiao/withdraw_list', {},
@@ -270,7 +270,7 @@
success: res => {
if (res.code >= 0) {
this.$util.showToast({
title: '提现申请成功'
title: this.$lang('withdrawApplySuccess')
});
setTimeout(() => {
this.$util.redirectTo('/pages_promotion/fenxiao/withdraw_list', {},

View File

@@ -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' && '余额' ||
item.transfer_type == 'alipay' && '支付宝' || item.transfer_type == 'bank' && '银行卡' ||
item.transfer_type =='wechatpay'&&'微信' }}</view>
<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>
<text class="time">{{ $util.timeStampTurnTime(item.create_time) }}</text>
</view>
@@ -25,7 +25,7 @@
</view>
</block>
<block v-else>
<ns-empty :isIndex="false" text="暂无提现记录"></ns-empty>
<ns-empty :isIndex="false" :text="$lang('noWithdrawRecords')"></ns-empty>
</block>
</view>
</mescroll-uni>
@@ -65,7 +65,7 @@ export default {
setTimeout(() => {
if (!this.addonIsExist.fenxiao) {
this.$util.showToast({
title: '商家未开启分销',
title: this.$lang('merchantNotOpenFenxiao'),
mask: true,
duration: 2000
});
@@ -75,7 +75,7 @@ export default {
}
}, 1000);
if (this.fenxiaoWords && this.fenxiaoWords.withdraw) this.$langConfig.title(this.fenxiaoWords.withdraw + '明细');
if (this.fenxiaoWords && this.fenxiaoWords.withdraw) this.$langConfig.title(this.fenxiaoWords.withdraw + this.$lang('detailSuffix'));
if (!this.storeToken) {
this.$nextTick(() => {

View File

@@ -39,7 +39,7 @@ export default {
fontWeight: false,
padding: 0,
cartEvent: "detail",
text: "购买",
text: this.$lang('buyText'),
textColor: "#FFFFFF",
theme: "default",
aroundRadius: 25,
@@ -76,8 +76,8 @@ export default {
this.getMerch()
}else{
uni.showModal({
title:'提示',
content:'商家不存在',
title: this.$lang('modal.title'),
content: this.$lang('modal.merchantNotExist'),
showCancel:false,
success(e){
uni.navigateBack({})
@@ -120,8 +120,8 @@ export default {
* 转发分享
*/
onShareAppMessage(res) {
var title = '搜索到' + this.count + '件“' + this.keyword + this.category_title + this.coupon_name + '”相关的优质商品';
let route = this.$util.getCurrentShareRoute(this.memberInfo ? this.memberInfo.member_id : 0);
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 path = route.path;
return {
title: title,
@@ -134,8 +134,8 @@ export default {
},
// 分享到微信朋友圈
onShareTimeline() {
var title = '搜索到' + this.count + '件“' + this.keyword + this.category_title + this.coupon_name + '”相关的优质商品';
let route = this.$util.getCurrentShareRoute(this.memberInfo ? this.memberInfo.member_id : 0);
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 query = route.query;
return {
title: title,
@@ -336,26 +336,26 @@ export default {
// }
if (!Number(this.maxPrice) && this.maxPrice) {
this.$util.showToast({
title: '请输入最高价'
title: this.$lang('priceFilter.pleaseEnterMaxPrice')
});
return;
}
if (Number(this.minPrice) < 0 || Number(this.maxPrice) < 0) {
this.$util.showToast({
title: '筛选价格不能小于0'
title: this.$lang('priceFilter.priceCannotBeLessThanZero')
});
return;
}
if (this.minPrice != '' && Number(this.minPrice) > Number(this.maxPrice) && this.maxPrice) {
this.$util.showToast({
title: '最低价不能大于最高价'
title: this.$lang('priceFilter.minCannotExceedMax')
});
return;
}
if (this.maxPrice != '' && Number(this.maxPrice) < Number(this.minPrice)) {
this.$util.showToast({
title: '最高价不能小于最低价'
title: this.$lang('priceFilter.maxCannotBeLessThanMin')
});
return;
}

View File

@@ -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' : ''">
{{ statusItem.name }}
{{ $lang('point.orderList.' + statusItem.nameKey) }}
</text>
</view>
</view>
@@ -16,10 +16,10 @@
<view class="order-item" v-for="(orderItem, orderIndex) in orderList" :key="orderIndex"
@click="detail(orderItem)">
<view class="order-header">
<text class="order-no">订单号:{{ orderItem.order_no }}</text>
<text class="order-no">{{ $lang('point.orderList.orderNo') }}{{ orderItem.order_no }}</text>
<text class="status-name">
{{ orderItem.order_status == 0 ? '待支付' : orderItem.order_status == 1 ? '已完成' :
orderItem.order_status == -1 ? '已关闭' : '' }}
{{ orderItem.order_status == 0 ? $lang('point.orderList.statusPendingPayment') : orderItem.order_status == 1 ? $lang('point.orderList.statusCompleted') :
orderItem.order_status == -1 ? $lang('point.orderList.statusClosed') : '' }}
</text>
</view>
<view class="order-body">
@@ -46,7 +46,7 @@
<view class="goods-sub-section">
<text class="goods-price">
<text class="price-style large">{{ orderItem.point }}</text>
<text class="unit price-style small">积分</text>
<text class="unit price-style small">{{ $lang('point.orderList.points') }}</text>
<block v-if="orderItem.price > 0">
+
<text class="unit price-style small">{{
@@ -69,20 +69,20 @@
<view class="order-footer">
<view class="order-action" v-if="orderItem.order_status == 0 && orderItem.type == 1">
<view class="order-box-btn font-size-tag"
@click.stop="orderClose(orderItem.order_id, orderIndex)">关闭</view>
@click.stop="orderClose(orderItem.order_id, orderIndex)">{{ $lang('point.orderList.closeBtn') }}</view>
<view class="order-box-btn color-base-bg color-base-border"
@click.stop="openChoosePayment(orderItem.out_trade_no, orderItem.price)">支付</view>
@click.stop="openChoosePayment(orderItem.out_trade_no, orderItem.price)">{{ $lang('point.orderList.payBtn') }}</view>
</view>
<view class="order-action" v-else>
<view class="order-box-btn font-size-tag">查看详情</view>
<view class="order-box-btn font-size-tag">{{ $lang('point.orderList.viewDetails') }}</view>
</view>
</view>
</view>
</block>
<block v-if="showEmpty && !orderList.length">
<view class="cart-empty">
<ns-empty :isIndex="true" :emptyBtn="{ url: '/pages_promotion/point/list', text: '去逛逛' }"
text="暂无积分兑换订单"></ns-empty>
<ns-empty :isIndex="true" :emptyBtn="{ url: '/pages_promotion/point/list', text: $lang('point.orderList.goBrowse') }"
:text="$lang('point.orderList.emptyText')"></ns-empty>
</view>
</block>
</block>
@@ -104,9 +104,9 @@ export default {
outTradeNo: '',
payMoney: 0,
statusList: [
{ status: 'all', id: 'all', name: '全部' },
{ status: 0, id: 'pay', name: '待支付' },
{ status: 1, id: 'complete', name: '已完成' },
{ status: 'all', id: 'all', nameKey: 'statusAll' },
{ status: 0, id: 'pay', nameKey: 'statusPendingPayment' },
{ status: 1, id: 'complete', nameKey: 'statusCompleted' },
],
orderStatus: 'all',
};
@@ -115,7 +115,7 @@ export default {
setTimeout(() => {
if (!this.addonIsExist.pointexchange) {
this.$util.showToast({
title: '商家未开启积分商城',
title: this.$lang('point.orderList.merchantNotEnabled'),
mask: true,
duration: 2000
});
@@ -182,8 +182,8 @@ export default {
},
orderClose(order_id, index) {
uni.showModal({
title: '提示',
content: '确定关闭此次兑换?',
title: this.$lang('point.orderList.tip'),
content: this.$lang('point.orderList.confirmCloseExchange'),
success: res => {
if (res.confirm) {
this.$api.sendRequest({
@@ -195,7 +195,7 @@ export default {
if (res.code >= 0) {
this.orderList[index].order_status = -1;
this.$util.showToast({
title: '关闭成功'
title: this.$lang('point.orderList.closeSuccess')
});
this.$forceUpdate();
}