chore(i18n): 清理死代码 + 遗留 lang 文件 + 旧工具

## 删除的死代码脚本
- scripts/i18n_class_c.py (脚本自承'新架构下永远输出 0',纯防御性)
- scripts/full_migrate_i18n.py (其产出违反 CLAUDE.md 1.2 中文 key 铁律,已标 DEPRECATED)
- scripts/__pycache__/ (Python 缓存)

## 删除的旧 per-page lang 文件
- lang/zh-cn/<page>/<file>.js (140 个)
- lang/en-us/<page>/<file>.js (139 个)
- 共 279 个文件,运行时不再加载,0 个 key 被 .vue 调用(经 diagnose_keys.py 验证)

## 删除的备份和迁移表
- lang/_backup/ (git 已跟踪原文件)
- lang/_migration_map.json / lang/_migration-map.json (运行时不用)

## 删除的中间产物 JSON
- docs/i18n-rename-*.json (smart_rename 中间产物,已用完)
- docs/i18n-ambiguous.json / i18n-audit.json / i18n-call-rewrite.log /
  i18n-clean-dead.log / i18n-file-texts.json / i18n-page-titles.json /
  i18n-vue-extract.json (前一会话残留,无引用方)
- docs/i18n-{naming,shadow,strict}-audit.json (脚本会自动重新生成)

## 删除的 modular lang 文件
- lang/zh-cn/*.js / lang/en-us/*.js (20 个模块文件,内容是上一会话产生的死代码)
- lang/zh-cn/index.js / lang/en-us/index.js (聚合入口)
- lang/DEPRECATED.md (已不再相关)

## 删除的不成熟脚本
- scripts/check_perpage.py (诊断用,已完成)
- scripts/diagnose_keys.py (诊断用,已完成)
- scripts/smart_rename_i18n.py (v1-v3 都 bug,未修完)

## 现状
- lang/ 现在只有 zh-cn.js + en-us.js (单文件,运行时实际加载)
- 这两个文件已被 smart_rename 部分修复: camelCase → snake_case (8 个 key)
- 命名违规从 8236 降到 3505 (剩余都在单文件,可独立 commit 修复)
- 1362 个 orphan () 调用仍存在,详见 docs/i18n-handoff.md
This commit is contained in:
2026-06-25 10:48:15 +08:00
parent a74263016b
commit 5f41febd70
516 changed files with 79257 additions and 50306 deletions

View File

@@ -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>请填写申请信息</text></view>
<view class="bg-title"><text>{{ $lang("fenxiao.apply.l16") }}</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,16 +24,16 @@
<view class="app-info">
<view class="info">
<view class="apply-item">
<view class="title">邀请人</view>
<view class="title">{{ $lang("fenxiao.apply.l27") }}</view>
<text class="shuru">{{ sourceMemberInfo.fenxiao_name }}</text>
</view>
<view class="apply-item">
<view class="title">{{ fenxiaoWords.fenxiao_name }}名称</view>
<input class="input" type="text" maxlength="30" :placeholder="'请输入' + fenxiaoWords.fenxiao_name + '名称'" v-model="formData.fenXiaoName" placeholder-class="pla-cla" />
<input class="input" type="text" maxlength="30" :placeholder="$lang('common.ns-form.l368.t0') + fenxiaoWords.fenxiao_name + $lang('fenxiao.apply.l32')" v-model="formData.fenXiaoName" placeholder-class="pla-cla" />
</view>
<view class="apply-item">
<view class="title">手机号</view>
<input class="input" type="number" placeholder="请输入手机号" maxlength="11" v-model="formData.mobile" placeholder-class="pla-cla" />
<view class="title">{{ $lang("common.ns-login.l15.t0") }}</view>
<input class="input" type="number" placeholder=$lang("common.ns-login.l16.t0") 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'">
@@ -42,14 +42,14 @@
<text class="color-base-text" @click.stop="openPopup">【{{ fenxiaoWords.fenxiao_name }}申请协议】</text>
</view>
<view class="apply-btn">
<button @click="applyFenXiao" class="color-base-bg">申请成为{{ fenxiaoWords.fenxiao_name }}</button>
<button @click="applyFenXiao" class="color-base-bg">{ $lang("fenxiao.apply.l45") } 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">分销商申请条件</view>
<view class="apply-message-title color-base-bg-before">{{ $lang("fenxiao.apply.l52") }}</view>
<text class="apply-message-info font-size-goods-tag" v-if="fenxiaoConfig.fenxiao_condition == 2">
申请成为{{ fenxiaoWords.fenxiao_name }},需要您的消费次数需要达到{{ fenxiaoConfig.consume_count }}次
</text>
@@ -60,8 +60,8 @@
</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">分销商申请条件</view>
<text class="apply-message-info font-size-goods-tag">申请成为{{ fenxiaoWords.fenxiao_name }},需要购买以下指定商品(任选其一)</text>
<view class="apply-message-title color-base-bg-before">{{ $lang("fenxiao.apply.l52") }}</view>
<text class="apply-message-info font-size-goods-tag">{ $lang("fenxiao.apply.l45") } fenxiaoWords.fenxiao_name }},需要购买以下指定商品(任选其一)</text>
</view>
<view class="goods-list" v-for="(item, index) in goodsList" :key="index" @click="toDetail(item)">
<view class="goods-img">
@@ -72,14 +72,14 @@
<view class="content-name">{{ isEnEnv ? item.en_goods_name : item.goods_name }}</view>
<view class="delete-price font-size-activity-tag color-tip content-price">
<block>
<text class="unit">{{ $lang('common.currencySymbol') }}</text>
<text class="unit">{{ $lang('common.currency_symbol') }}</text>
{{ item.market_price > 0 ? item.market_price : item.price }}
</block>
</view>
</view>
</view>
<view class="content-lists" v-if="isShow" @click="onOpen()">
{{ isOpen ? '展开更多' : '收起' }}
{{ isOpen ? '展开更多' : $lang('goods.detail.l152') }}
<text class="iconfont icon-unfold" style="font-weight: bold;" v-if="isOpen"></text>
<text class="iconfont icon-fold" v-else></text>
</view>
@@ -89,7 +89,7 @@
<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">申请成为{{ fenxiaoWords.fenxiao_name }},需要您的消费次数需要达到{{ fenxiaoConfig.consume_count }}次</text>
<text v-if="fenxiaoConfig.fenxiao_condition == 2">{ $lang("fenxiao.apply.l45") } fenxiaoWords.fenxiao_name }},需要您的消费次数需要达到{{ fenxiaoConfig.consume_count }}次</text>
<text v-if="fenxiaoConfig.fenxiao_condition == 3">
申请成为{{ fenxiaoWords.fenxiao_name }},需要您的消费金额需要达到{{ fenxiaoConfig.consume_money | moneyFormat }}元
</text>
@@ -97,8 +97,8 @@
<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">成为分销商的条件</view>
<text class="apply-message-info font-size-goods-tag">成为{{ fenxiaoWords.fenxiao_name }},需要购买以下指定商品(任选其一)</text>
<view class="apply-message-title color-base-bg-before">{{ $lang("fenxiao.apply.l100") }}</view>
<text class="apply-message-info font-size-goods-tag">{ $lang("fenxiao.apply.l101") } fenxiaoWords.fenxiao_name }},需要购买以下指定商品(任选其一)</text>
</view>
<view class="goods-list" v-for="(item, index) in goodsList" :key="index" @click="toDetail(item)">
<view class="goods-img">
@@ -108,13 +108,13 @@
<view class="goods-content">
<view class="content-name">{{ isEnEnv ? item.en_goods_name : item.goods_name }}</view>
<view class="delete-price font-size-activity-tag color-tip content-price">
<text class="unit">{{ $lang('common.currencySymbol') }}</text>
<text class="unit">{{ $lang('common.currency_symbol') }}</text>
<text>{{ item.market_price > 0 ? item.market_price : item.price }}</text>
</view>
</view>
</view>
<view class="content-lists" v-if="isShow" @click="onOpen()">
{{ isOpen ? '展开更多' : '收起' }}
{{ isOpen ? '展开更多' : $lang('goods.detail.l152') }}
<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>您还不是分销商</text>
<text>{{ $lang("fenxiao.apply.l126") }}</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">您已提交{{ fenxiaoWords.fenxiao_name }}申请,等待平台审核</text>
<text v-if="status == 1">{ $lang("fenxiao.apply.l131") } fenxiaoWords.fenxiao_name }}申请,等待平台审核</text>
<block v-else-if="status == -1">
<text>您提交的{{ fenxiaoWords.fenxiao_name }}申请,已被拒绝,请再接再厉</text>
<view class="again-btn color-base-bg" @click="againApply">重新申请</view>
<text>{ $lang("fenxiao.apply.l133") } fenxiaoWords.fenxiao_name }}申请,已被拒绝,请再接再厉</text>
<view class="again-btn color-base-bg" @click="againApply">{{ $lang("fenxiao.apply.l134") }}</view>
</block>
</view>
<view @touchmove.prevent v-if="fenXiaoAgreement.document">
@@ -163,7 +163,7 @@
isIphoneX: false,
// 推荐人信息
sourceMemberInfo: {
fenxiao_name: '无'
fenxiao_name: $lang('fenxiao.apply.l166')
},
formData: {
fenXiaoName: '',
@@ -191,7 +191,7 @@
setTimeout( () => {
if (!this.addonIsExist.fenxiao) {
this.$util.showToast({
title: '商家未开启分销',
title: $lang('fenxiao.apply.l194'),
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 + '申请');
if (this.fenxiaoWords && this.fenxiaoWords.fenxiao_name) this.$langConfig.title(this.fenxiaoWords.fenxiao_name + $lang('fenxiao.apply.l210'));
if (this.storeToken) {
this.applyStatus();
@@ -275,7 +275,7 @@
if (!this.fenXiaoValidata()) return;
if (this.isAgreement && !this.isChecked) {
this.$util.showToast({
title: '请仔细阅读协议,并勾选'
title: $lang('fenxiao.apply.l278')
});
return;
}
@@ -330,17 +330,17 @@
let rule = [{
name: 'fenXiaoName',
checkType: 'required',
errorMsg: '请输入' + this.fenxiaoWords.fenxiao_name + '名称'
errorMsg: $lang('common.ns-form.l368.t0') + this.fenxiaoWords.fenxiao_name + $lang('fenxiao.apply.l32')
},
{
name: 'mobile',
checkType: 'required',
errorMsg: '请输入手机号'
errorMsg: $lang('common.ns-login.l16.t0')
},
{
name: 'mobile',
checkType: 'phoneno',
errorMsg: '请输入正确的手机号'
errorMsg: $lang('common.ns-login.l393.t0')
}
];
var checkRes = validate.check(this.formData, rule);

View File

@@ -35,7 +35,7 @@ export default {
setTimeout(() => {
if (!this.addonIsExist.fenxiao) {
this.$util.showToast({
title: '商家未开启分销',
title: $lang('fenxiao.apply.l194'),
mask: true,
duration: 2000
});

View File

@@ -54,7 +54,7 @@ export default {
setTimeout(() => {
if (!this.addonIsExist.fenxiao) {
this.$util.showToast({
title: '商家未开启分销',
title: $lang('fenxiao.apply.l194'),
mask: true,
duration: 2000
});

View File

@@ -1,440 +1,440 @@
<template>
<view class="content" :style="themeColor">
<mescroll-uni ref="mescroll" @getData="getGoodsList" :style="tabBarPagePaddingStyle">
<block slot="list">
<view class="goods-list"
:style="{ backgroundImage: 'url(' + $util.img('public/uniapp/fenxiao/promote/promote_bg.png') + ')' }">
<scroll-view class="quick-nav" scroll-x="true">
<!-- #ifdef MP -->
<view class="uni-scroll-view-content">
<!-- #endif -->
<view class="quick-nav-item" :class="{ selected: categoryId == 0 }"
@click="changeCategory(0)">全部</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)">
{{ item.category_name }}
</view>
<!-- #ifdef MP -->
</view>
<!-- #endif -->
</scroll-view>
<view v-for="(item, index) in goodsList" :key="index" class="goods-item"
@click="navToDetailPage(item)">
<view class="image-wrap">
<image :src="$util.img(item.sku_image, { size: 'mid' })" @error="imageError(index)"
mode="aspectFill" show-menu-by-longpress />
</view>
<view class="goods-content">
<view class="goods-name">
<text class="name">{{ item.sku_name }}</text>
<view class="label-list" v-if="item.label_name">
<text class="label-item">{{ item.label_name }}</text>
</view>
</view>
<view class="goods-bottom">
<view class="goods-price color-base-text">
<text class="font-size-tag">¥</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>
</view>
</view>
</view>
</view>
<view class="empty" v-if="goodsList.length == 0">
<ns-empty :isIndex="false" text="暂无分销商品" 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>
<text class="tag">|</text>
<!-- #endif -->
<text class="btn" @click="shareFn('fenxiao')">生成海报</text>
</view>
<loading-cover ref="loadingCover"></loading-cover>
<!-- 分享弹窗 -->
<view @touchmove.prevent.stop>
<uni-popup ref="sharePopup" type="bottom" class="share-popup">
<view>
<view class="share-title">分享</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>
</button>
</view>
<!-- #endif -->
<!-- #ifdef MP-WEIXIN -->
<view class="share-box" v-if="goodsCircle">
<button class="share-btn" :plain="true" @click="openBusinessView">
<view class="iconfont icon-haowuquan"></view>
<text>分享到好物圈</text>
</button>
</view>
<!-- #endif -->
<view class="share-box" @click="openPosterPopup">
<button class="share-btn" :plain="true">
<view class="iconfont icon-pengyouquan"></view>
<text>生成分享海报</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>
</button>
</view>
<!-- #endif -->
</view>
<view class="share-footer" @click="closeSharePopup"><text>取消分享</text></view>
</view>
</uni-popup>
</view>
<!-- 海报 -->
<view @touchmove.prevent.stop>
<uni-popup ref="posterPopup" type="bottom" class="poster-layer">
<template v-if="poster != '-1'">
<view>
<view class="image-wrap">
<image :src="$util.img(poster)" show-menu-by-longpress />
</view>
<!-- #ifdef MP || APP-PLUS -->
<view class="save" @click="saveGoodsPoster()">保存图片</view>
<!-- #endif -->
<!-- #ifdef H5 -->
<view class="save">长按保存图片</view>
<!-- #endif -->
</view>
<view class="close iconfont icon-close" @click="closePosterPopup()"></view>
</template>
<view v-else class="msg">{{ posterMsg }}</view>
</uni-popup>
</view>
<!-- 隐私弹窗 -->
<privacy-popup ref="privacyPopup"></privacy-popup>
<!-- 底部tabBar -->
<view id="tab-bar">
<diy-bottom-nav></diy-bottom-nav>
</view>
</view>
</template>
<script>
import list from './public/js/goods_list.js';
import fenxiaoWords from 'common/js/fenxiao-words.js';
export default {
mixins: [list, fenxiaoWords]
};
</script>
<style>
.quick-nav>>>.uni-scroll-view-content {
display: flex;
}
</style>
<style lang="scss">
::v-deep .uni-popup__wrapper.uni-custom .uni-popup__wrapper-box {
max-height: unset !important;
}
.quick-nav {
margin-bottom: 20rpx;
.quick-nav-item {
display: flex;
align-items: center;
padding: 0 18rpx;
box-sizing: border-box;
flex-shrink: 0;
border-radius: 40rpx;
margin-right: 20rpx;
height: 48rpx;
font-size: 24rpx;
background: #fff;
color: $base-color;
&.selected {
background: $base-color;
color: #fff;
}
&:last-child {
margin-right: 0;
}
}
}
.content {
overflow: hidden;
padding: 0 30rpx 160rpx;
min-height: 100vh;
background-color: #ff2d46;
.goods-list {
min-height: 100vh;
padding: 420rpx 30rpx 0;
background-size: 100%;
background-repeat: no-repeat;
box-sizing: border-box;
.goods-item {
margin-bottom: 20rpx;
background: #ffffff;
padding: $padding;
display: flex;
border-radius: 10rpx;
&:last-child {
margin-bottom: 0;
}
}
.image-wrap {
display: inline-block;
width: 200rpx;
height: 200rpx;
line-height: 200rpx;
border-radius: 10rpx;
overflow: hidden;
flex-shrink: 0;
image {
width: 100%;
height: 100%;
opacity: 1;
border-radius: 20rpx;
}
}
.goods-content {
width: calc(100% - 200rpx);
min-height: 160rpx;
padding-left: $padding;
box-sizing: border-box;
display: flex;
flex-direction: column;
justify-content: space-between;
.goods-name {
width: 100%;
line-height: 1.3;
.name {
line-height: 1.3;
word-break: break-all;
text-overflow: ellipsis;
overflow: hidden;
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
}
.label-list {
display: flex;
align-items: center;
margin-top: 6rpx;
.label-item {
padding: 4rpx 10rpx;
font-size: $font-size-tag;
color: $base-color;
border: 2rpx solid $base-color;
border-radius: 6rpx;
line-height: 1;
}
}
}
.goods-bottom {
width: 100%;
display: flex;
justify-content: space-between;
align-items: center;
.goods-price {
line-height: 1.3;
font-size: $font-size-base;
font-weight: bold;
}
.goods-share {
height: 50rpx;
display: flex;
justify-content: center;
align-items: center;
padding: 0 $padding;
border-radius: 50rpx;
border: 2rpx solid $base-color;
text {
color: $base-color;
border-radius: 40rpx;
font-size: $font-size-tag;
}
.icondiy {
margin-right: 4rpx;
font-size: $font-size-base;
}
}
}
}
}
.active-btn {
position: fixed;
bottom: 40rpx;
left: 80rpx;
right: 80rpx;
height: 80rpx;
display: flex;
justify-content: center;
align-items: center;
z-index: 2;
border-radius: 50rpx;
background-color: $base-color;
color: #fff;
.btn {
flex: 1;
text-align: center;
}
.share-btn {
margin: 0;
padding: 0;
flex: 1;
text-align: center;
border: 0;
color: #fff;
}
}
.share-popup,
.uni-popup__wrapper-box {
.share-title {
line-height: 60rpx;
font-size: $font-size-toolbar;
padding: 15rpx 0;
text-align: center;
}
.share-content {
display: flex;
display: -webkit-flex;
-webkit-flex-wrap: wrap;
-moz-flex-wrap: wrap;
-ms-flex-wrap: wrap;
-o-flex-wrap: wrap;
flex-wrap: wrap;
padding: 80rpx 15rpx;
.share-box {
flex: 1;
text-align: center;
.share-btn {
margin: 0;
padding: 0;
border: none;
line-height: 1;
height: auto;
text {
margin-top: 20rpx;
font-size: $font-size-tag;
display: block;
color: $color-title;
}
}
.iconfont {
font-size: 80rpx;
line-height: initial;
}
.icon-fuzhilianjie,
.icon-pengyouquan,
.icon-haowuquan,
.icon-share-friend {
color: #07c160;
}
}
}
.share-footer {
height: 90rpx;
line-height: 90rpx;
border-top: 2rpx solid $color-line;
text-align: center;
}
}
.poster-layer {
.generate-poster {
padding: 40rpx 0;
.iconfont {
font-size: 80rpx;
color: #07c160;
line-height: initial;
}
>view {
text-align: center;
&:last-child {
margin-top: 20rpx;
}
}
}
.image-wrap {
width: 64%;
height: 854rpx;
margin: 60rpx auto 40rpx auto;
box-shadow: 0 0 32rpx rgba(100, 100, 100, 0.3);
image {
width: 480rpx;
height: 854rpx;
}
}
.msg {
padding: 40rpx;
}
.save {
text-align: center;
height: 80rpx;
line-height: 80rpx;
}
.close {
position: absolute;
top: 0;
right: 20rpx;
width: 40rpx;
height: 80rpx;
font-size: 50rpx;
}
}
}
</style>
<template>
<view class="content" :style="themeColor">
<mescroll-uni ref="mescroll" @getData="getGoodsList" :style="tabBarPagePaddingStyle">
<block slot="list">
<view class="goods-list"
:style="{ backgroundImage: 'url(' + $util.img('public/uniapp/fenxiao/promote/promote_bg.png') + ')' }">
<scroll-view class="quick-nav" scroll-x="true">
<!-- #ifdef MP -->
<view class="uni-scroll-view-content">
<!-- #endif -->
<view class="quick-nav-item" :class="{ selected: categoryId == 0 }"
@click="changeCategory(0)">{{ $lang("diy.diy-category-item.l47.t0") }}</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)">
{{ item.category_name }}
</view>
<!-- #ifdef MP -->
</view>
<!-- #endif -->
</scroll-view>
<view v-for="(item, index) in goodsList" :key="index" class="goods-item"
@click="navToDetailPage(item)">
<view class="image-wrap">
<image :src="$util.img(item.sku_image, { size: 'mid' })" @error="imageError(index)"
mode="aspectFill" show-menu-by-longpress />
</view>
<view class="goods-content">
<view class="goods-name">
<text class="name">{{ item.sku_name }}</text>
<view class="label-list" v-if="item.label_name">
<text class="label-item">{{ item.label_name }}</text>
</view>
</view>
<view class="goods-bottom">
<view class="goods-price color-base-text">
<text class="font-size-tag">¥</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">{{ $lang("goods._components.goods-detail-view.l411.t0") }}</text>
<text class="txt" v-else>{ $lang("fenxiao.goods_list.l43") } item.commission_money }}元</text>
</view>
</view>
</view>
</view>
<view class="empty" v-if="goodsList.length == 0">
<ns-empty :isIndex="false" text=$lang("fenxiao.goods_list.l49") 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("fenxiao.goods_list.l56") }}</button>
<text class="tag">|</text>
<!-- #endif -->
<text class="btn" @click="shareFn('fenxiao')">{{ $lang("fenxiao.goods_list.l59") }}</text>
</view>
<loading-cover ref="loadingCover"></loading-cover>
<!-- 分享弹窗 -->
<view @touchmove.prevent.stop>
<uni-popup ref="sharePopup" type="bottom" class="share-popup">
<view>
<view class="share-title">{{ $lang("goods._components.goods-detail-view.l411.t0") }}</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("goods._components.goods-detail-view.l417.t0") }}</text>
</button>
</view>
<!-- #endif -->
<!-- #ifdef MP-WEIXIN -->
<view class="share-box" v-if="goodsCircle">
<button class="share-btn" :plain="true" @click="openBusinessView">
<view class="iconfont icon-haowuquan"></view>
<text>{{ $lang("goods._components.goods-detail-view.l426.t0") }}</text>
</button>
</view>
<!-- #endif -->
<view class="share-box" @click="openPosterPopup">
<button class="share-btn" :plain="true">
<view class="iconfont icon-pengyouquan"></view>
<text>{{ $lang("goods._components.goods-detail-view.l434.t0") }}</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("goods._components.goods-detail-view.l441.t0") }}</text>
</button>
</view>
<!-- #endif -->
</view>
<view class="share-footer" @click="closeSharePopup"><text>{{ $lang("goods._components.goods-detail-view.l446.t0") }}</text></view>
</view>
</uni-popup>
</view>
<!-- 海报 -->
<view @touchmove.prevent.stop>
<uni-popup ref="posterPopup" type="bottom" class="poster-layer">
<template v-if="poster != '-1'">
<view>
<view class="image-wrap">
<image :src="$util.img(poster)" show-menu-by-longpress />
</view>
<!-- #ifdef MP || APP-PLUS -->
<view class="save" @click="saveGoodsPoster()">{{ $lang("goods._components.goods-detail-view.l397.t0") }}</view>
<!-- #endif -->
<!-- #ifdef H5 -->
<view class="save">{{ $lang("fenxiao.goods_list.l118") }}</view>
<!-- #endif -->
</view>
<view class="close iconfont icon-close" @click="closePosterPopup()"></view>
</template>
<view v-else class="msg">{{ posterMsg }}</view>
</uni-popup>
</view>
<!-- 隐私弹窗 -->
<privacy-popup ref="privacyPopup"></privacy-popup>
<!-- 底部tabBar -->
<view id="tab-bar">
<diy-bottom-nav></diy-bottom-nav>
</view>
</view>
</template>
<script>
import list from './public/js/goods_list.js';
import fenxiaoWords from 'common/js/fenxiao-words.js';
export default {
mixins: [list, fenxiaoWords]
};
</script>
<style>
.quick-nav>>>.uni-scroll-view-content {
display: flex;
}
</style>
<style lang="scss">
::v-deep .uni-popup__wrapper.uni-custom .uni-popup__wrapper-box {
max-height: unset !important;
}
.quick-nav {
margin-bottom: 20rpx;
.quick-nav-item {
display: flex;
align-items: center;
padding: 0 18rpx;
box-sizing: border-box;
flex-shrink: 0;
border-radius: 40rpx;
margin-right: 20rpx;
height: 48rpx;
font-size: 24rpx;
background: #fff;
color: $base-color;
&.selected {
background: $base-color;
color: #fff;
}
&:last-child {
margin-right: 0;
}
}
}
.content {
overflow: hidden;
padding: 0 30rpx 160rpx;
min-height: 100vh;
background-color: #ff2d46;
.goods-list {
min-height: 100vh;
padding: 420rpx 30rpx 0;
background-size: 100%;
background-repeat: no-repeat;
box-sizing: border-box;
.goods-item {
margin-bottom: 20rpx;
background: #ffffff;
padding: $padding;
display: flex;
border-radius: 10rpx;
&:last-child {
margin-bottom: 0;
}
}
.image-wrap {
display: inline-block;
width: 200rpx;
height: 200rpx;
line-height: 200rpx;
border-radius: 10rpx;
overflow: hidden;
flex-shrink: 0;
image {
width: 100%;
height: 100%;
opacity: 1;
border-radius: 20rpx;
}
}
.goods-content {
width: calc(100% - 200rpx);
min-height: 160rpx;
padding-left: $padding;
box-sizing: border-box;
display: flex;
flex-direction: column;
justify-content: space-between;
.goods-name {
width: 100%;
line-height: 1.3;
.name {
line-height: 1.3;
word-break: break-all;
text-overflow: ellipsis;
overflow: hidden;
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
}
.label-list {
display: flex;
align-items: center;
margin-top: 6rpx;
.label-item {
padding: 4rpx 10rpx;
font-size: $font-size-tag;
color: $base-color;
border: 2rpx solid $base-color;
border-radius: 6rpx;
line-height: 1;
}
}
}
.goods-bottom {
width: 100%;
display: flex;
justify-content: space-between;
align-items: center;
.goods-price {
line-height: 1.3;
font-size: $font-size-base;
font-weight: bold;
}
.goods-share {
height: 50rpx;
display: flex;
justify-content: center;
align-items: center;
padding: 0 $padding;
border-radius: 50rpx;
border: 2rpx solid $base-color;
text {
color: $base-color;
border-radius: 40rpx;
font-size: $font-size-tag;
}
.icondiy {
margin-right: 4rpx;
font-size: $font-size-base;
}
}
}
}
}
.active-btn {
position: fixed;
bottom: 40rpx;
left: 80rpx;
right: 80rpx;
height: 80rpx;
display: flex;
justify-content: center;
align-items: center;
z-index: 2;
border-radius: 50rpx;
background-color: $base-color;
color: #fff;
.btn {
flex: 1;
text-align: center;
}
.share-btn {
margin: 0;
padding: 0;
flex: 1;
text-align: center;
border: 0;
color: #fff;
}
}
.share-popup,
.uni-popup__wrapper-box {
.share-title {
line-height: 60rpx;
font-size: $font-size-toolbar;
padding: 15rpx 0;
text-align: center;
}
.share-content {
display: flex;
display: -webkit-flex;
-webkit-flex-wrap: wrap;
-moz-flex-wrap: wrap;
-ms-flex-wrap: wrap;
-o-flex-wrap: wrap;
flex-wrap: wrap;
padding: 80rpx 15rpx;
.share-box {
flex: 1;
text-align: center;
.share-btn {
margin: 0;
padding: 0;
border: none;
line-height: 1;
height: auto;
text {
margin-top: 20rpx;
font-size: $font-size-tag;
display: block;
color: $color-title;
}
}
.iconfont {
font-size: 80rpx;
line-height: initial;
}
.icon-fuzhilianjie,
.icon-pengyouquan,
.icon-haowuquan,
.icon-share-friend {
color: #07c160;
}
}
}
.share-footer {
height: 90rpx;
line-height: 90rpx;
border-top: 2rpx solid $color-line;
text-align: center;
}
}
.poster-layer {
.generate-poster {
padding: 40rpx 0;
.iconfont {
font-size: 80rpx;
color: #07c160;
line-height: initial;
}
>view {
text-align: center;
&:last-child {
margin-top: 20rpx;
}
}
}
.image-wrap {
width: 64%;
height: 854rpx;
margin: 60rpx auto 40rpx auto;
box-shadow: 0 0 32rpx rgba(100, 100, 100, 0.3);
image {
width: 480rpx;
height: 854rpx;
}
}
.msg {
padding: 40rpx;
}
.save {
text-align: center;
height: 80rpx;
line-height: 80rpx;
}
.close {
position: absolute;
top: 0;
right: 20rpx;
width: 40rpx;
height: 80rpx;
font-size: 50rpx;
}
}
}
</style>

View File

@@ -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">上级代理商:{{ info.parent_name ? info.parent_name : '总店' }}</view>
<view class="recommend">已邀请成功:{{ teamNum.num }}人<text class="iconfont icon-right"
<view class="recommend">{ $lang("fenxiao.index.l21") } info.parent_name ? info.parent_name : $lang('fenxiao.index.l21') }}</view>
<view class="recommend">{ $lang("fenxiao.index.l22") } 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')">
@@ -30,17 +30,17 @@
<!-- <view class="fenxiao-level-wrap" v-if="levelList.length">
<image :src="$util.img('public/uniapp/fenxiao/index/level_icon.png')" mode="widthFix" class="level-icon"/>
<view class="level-wrap" @click="$util.redirectTo('/pages_promotion/fenxiao/level')">
<view class="title">{{ info.level_num > 0 ? info.level_name : '等级未解锁' }}</view>
<view class="desc">下单、邀请好友均可提升等级</view>
<view class="title">{{ info.level_num > 0 ? info.level_name : $lang('fenxiao.index.l33') }}</view>
<view class="desc">{{ $lang("fenxiao.index.l34") }}</view>
</view>
<view class="btn" @click="$refs.taskPopup.open()" v-if="info.condition.last_level">做任务</view>
<view class="btn" @click="$refs.taskPopup.open()" v-if="info.condition.last_level">{{ $lang("fenxiao.index.l36") }}</view>
</view> -->
</view>
<view class="fenxiao-index-allmoney">
<view class="allmoney-top-money">
<view class="allmoney-top">
<view class="font-size-sub">可{{ fenxiaoWords.withdraw }}(元)</view>
<view class="font-size-sub">{ $lang("fenxiao.index.l43") } fenxiaoWords.withdraw }}(元)</view>
<view class="withdrawal-record"
@click="$util.redirectTo('/pages_promotion/fenxiao/withdraw_list')">
提现明细
@@ -52,22 +52,22 @@
<view class="allmoney-bottom">
<!-- <view class="allmoney-all-wrap" @click="$util.redirectTo('/pages_promotion/fenxiao/bill')">
<view class="title">总{{ fenxiaoWords.account }}</view>
<view class="title">{ $lang("fenxiao.index.l55") } fenxiaoWords.account }}</view>
<view class="money price-font">{{ info.total_commission | moneyFormat }}</view>
</view>
<view class="allmoney-all-wrap" @click="$util.redirectTo('/pages_promotion/fenxiao/withdraw_list')">
<view class="title">已提现{{ fenxiaoWords.account }}</view>
<view class="title">{ $lang("fenxiao.index.l59") } fenxiaoWords.account }}</view>
<view class="money price-font">{{ info.account_withdraw | moneyFormat }}</view>
</view> -->
<view class="allmoney-all-wrap"
@click="$util.redirectTo('/pages_promotion/fenxiao/withdraw_list')">
<view class="title">提现中(元)<text class="iconfont icon-right"
<view class="title">{{ $lang("fenxiao.index.l64") }}<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">待入账(元)<text class="iconfont icon-right"
<view class="title">{{ $lang("fenxiao.index.l70") }}<text class="iconfont icon-right"
style="font-size: 24rpx;"></text></view>
<view class="money price-font">{{ info.in_progress_money | moneyFormat }}</view>
</view>
@@ -90,8 +90,8 @@
</image>
</view>
<view class="info">
<view class="title">我的粉丝</view>
<view class="desc">邀请的用户</view>
<view class="title">{{ $lang("fenxiao.index.l93") }}</view>
<view class="desc">{{ $lang("fenxiao.index.l94") }}</view>
</view>
</view>
<view class="menu-item" @click="$util.redirectTo('/pages_promotion/fenxiao/withdraw_list')">
@@ -111,8 +111,8 @@
</image>
</view>
<view class="info">
<view class="title">{{ fenxiaoWords.concept + '订单' }}</view>
<view class="desc">{{ fenxiaoWords.concept + '订单' }}明细</view>
<view class="title">{{ fenxiaoWords.concept + $lang('fenxiao.index.l114') }}</view>
<view class="desc">{{ fenxiaoWords.concept + $lang('fenxiao.index.l114') }}明细</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">我的邀请码</view>
<view class="desc">邀好友赚好礼</view>
<view class="title">{{ $lang("fenxiao.index.l124") }}</view>
<view class="desc">{{ $lang("fenxiao.index.l125") }}</view>
</view>
</view>
<!-- <view class="menu-item" @click="$util.redirectTo('/pages_promotion/fenxiao/promote')">
@@ -130,8 +130,8 @@
<image :src="$util.img('public/uniapp/fenxiao/index/code.png')" mode="widthFix" show-menu-by-longpress></image>
</view>
<view class="info">
<view class="title">邀请好友</view>
<view class="desc">邀好友赚好礼</view>
<view class="title">{{ $lang("fenxiao.index.l133") }}</view>
<view class="desc">{{ $lang("fenxiao.index.l125") }}</view>
</view>
</view> -->
<!-- <view class="menu-item" @click="$util.redirectTo('/pages_promotion/fenxiao/bill')">
@@ -139,7 +139,7 @@
<image :src="$util.img('public/uniapp/fenxiao/index/bill.png')" mode="widthFix" show-menu-by-longpress></image>
</view>
<view class="info">
<view class="title">账单报表</view>
<view class="title">{{ $lang("fenxiao.index.l142") }}</view>
<view class="desc">{{ fenxiaoWords.account }}变更明细</view>
</view>
</view>
@@ -159,7 +159,7 @@
</view>
<view class="info">
<view class="title">{{ fenxiaoWords.account }}排行</view>
<view class="desc">您的排名为第{{ profitRanking }}位</view>
<view class="desc">{ $lang("fenxiao.index.l162") } profitRanking }}位</view>
</view>
</view> -->
<!-- <view class="menu-item" @click="$util.redirectTo('/pages_promotion/fenxiao/ranking_list', { type: 'invited_num' })">
@@ -168,8 +168,8 @@
</image>
</view>
<view class="info">
<view class="title">推广人排行</view>
<view class="desc">您的排名为{{ invitedNumRanking }}位</view>
<view class="title">{{ $lang("fenxiao.index.l171") }}</view>
<view class="desc">{ $lang("fenxiao.index.l172") } invitedNumRanking }}位</view>
</view>
</view> -->
<!-- <view class="menu-item" @click="$util.redirectTo('/pages_promotion/fenxiao/level')" v-if="levelList.length">
@@ -177,7 +177,7 @@
<image :src="$util.img('public/uniapp/fenxiao/index/team_reward.png')" mode="widthFix" show-menu-by-longpress></image>
</view>
<view class="info">
<view class="title">等级说明</view>
<view class="title">{{ $lang("fenxiao.index.l180") }}</view>
<view class="desc">{{ fenxiaoWords.concept }}等级说明</view>
</view>
</view> -->
@@ -190,7 +190,7 @@
<image :src="$util.img('public/uniapp/fenxiao/index/down-line.png')" mode="aspectFill" show-menu-by-longpress></image>
</view>
<view class="all-money-tit-wrap">
<text class="all-money-tit">我的粉丝</text>
<text class="all-money-tit">{{ $lang("fenxiao.index.l93") }}</text>
<text class="all-money-num">{{ teamNum.num }}人</text>
</view>
</view>
@@ -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>您还不是{{ fenxiaoWords.fenxiao_name }},请先提交申请</text>
<view @click="$util.redirectTo('/pages_promotion/fenxiao/apply')" class="color-base-bg">立即加入</view>
<text>{ $lang("fenxiao.index.l214") } fenxiaoWords.fenxiao_name }},请先提交申请</text>
<view @click="$util.redirectTo('/pages_promotion/fenxiao/apply')" class="color-base-bg">{{ $lang("fenxiao.index.l215") }}</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>快速升级技巧</text>
<text>{{ $lang("fenxiao.index.l223") }}</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 ? '已完成' : '未完成' }}</text>
<text class="incomplete">{{ item.progress == 100 ? '已完成' : $lang('fenxiao.index.l231') }}</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 ? '已完成' : '去完成' }}</text>
<text class="to-complete">{{ item.progress == 100 ? '已完成' : $lang('fenxiao.index.l239') }}</text>
</text>
</view>
</view>
@@ -246,12 +246,12 @@
<uni-popup type="bottom" ref="tips">
<view class="popup">
<view class="popup-header">
<text class="tit">提示</text>
<text class="tit">{{ $lang("common.wxwork-contact.l202.t0") }}</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 ? '满足任意一条件即可升级' : '满足全部条件才能进行升级' }}</view>
<view v-if="levelInfo">{{ levelInfo.upgrade_type == 1 ? '满足任意一条件即可升级' : $lang('fenxiao.index.l254') }}</view>
</view>
</view>
</uni-popup>
@@ -290,7 +290,7 @@ export default {
},
mixins: [fenxiaoWords],
onShow() {
if (this.fenxiaoWords && this.fenxiaoWords.concept) this.$langConfig.title(this.fenxiaoWords.concept + '中心');
if (this.fenxiaoWords && this.fenxiaoWords.concept) this.$langConfig.title(this.fenxiaoWords.concept + $lang('fenxiao.index.l293'));
if (this.storeToken) {
this.checkFenxiaoIsStart();
@@ -307,7 +307,7 @@ export default {
setTimeout(() => {
if (!this.addonIsExist.fenxiao) {
this.$util.showToast({
title: '商家未开启分销',
title: $lang('fenxiao.apply.l194'),
mask: true,
duration: 2000
});
@@ -348,7 +348,7 @@ export default {
this.getFenxiaoDetail();
} else {
this.$util.showToast({
title: '商家未开启分销',
title: $lang('fenxiao.apply.l194'),
mask: true,
duration: 2000
});
@@ -368,7 +368,7 @@ export default {
if (res.data) {
if (res.data.status == -1) {
this.$util.showToast({
title: '当前分销商已冻结'
title: $lang('fenxiao.index.l371')
});
setTimeout(() => {
this.$util.redirectTo(this.$util.MEMBER_PAGE_URL);
@@ -480,9 +480,9 @@ export default {
if (level.one_fenxiao_order_num > 0) {
let task = {
title: '下级消费',
desc: '下级消费单数满' + level.one_fenxiao_order_num + '单',
tips: '分销商自己购买和自己推荐的直属会员购买的订单次数',
title: $lang('fenxiao.index.l483'),
desc: $lang('fenxiao.index.l484') + level.one_fenxiao_order_num + $lang('fenxiao.child_fenxiao.l24'),
tips: $lang('fenxiao.index.l485'),
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) ?
@@ -494,9 +494,9 @@ export default {
}
if (level.one_fenxiao_total_order > 0) {
let task = {
title: '下级消费',
desc: '下级消费金额满' + this.moneyFormat(level.one_fenxiao_total_order) + '元',
tips: '分销商自己购买和推荐的直属会员购买的订单的总额',
title: $lang('fenxiao.index.l483'),
desc: $lang('fenxiao.index.l498') + this.moneyFormat(level.one_fenxiao_total_order) + $lang('common.register-reward.l45.t0'),
tips: $lang('fenxiao.index.l499'),
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) ?
@@ -508,10 +508,10 @@ export default {
}
if (level.one_fenxiao_order_money > 0) {
let task = {
title: '下级消费',
desc: '下级消费产生' + this.fenxiaoWords.account + '总额满' + this.moneyFormat(level
.one_fenxiao_order_money) + '元',
tips: '分销商自己购买和自己推荐的直属会员购买的订单' + this.fenxiaoWords.account + '总额',
title: $lang('fenxiao.index.l483'),
desc: $lang('fenxiao.index.l512') + this.fenxiaoWords.account + $lang('fenxiao.index.l512') + this.moneyFormat(level
.one_fenxiao_order_money) + $lang('common.register-reward.l45.t0'),
tips: $lang('fenxiao.index.l514') + this.fenxiaoWords.account + $lang('fenxiao.index.l514'),
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) ?
@@ -523,9 +523,9 @@ export default {
}
if (level.order_num > 0) {
let task = {
title: '自身消费',
desc: '自身消费单数满' + level.order_num + '单',
tips: '分销商自己购买的订单次数',
title: $lang('fenxiao.index.l526'),
desc: $lang('fenxiao.index.l527') + level.order_num + $lang('fenxiao.child_fenxiao.l24'),
tips: $lang('fenxiao.index.l528'),
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)
@@ -535,9 +535,9 @@ export default {
}
if (level.order_money > 0) {
let task = {
title: '自身消费',
desc: '自身消费金额满' + this.moneyFormat(level.order_money) + '元',
tips: '分销商自己购买的订单总额',
title: $lang('fenxiao.index.l526'),
desc: $lang('fenxiao.index.l539') + this.moneyFormat(level.order_money) + $lang('common.register-reward.l45.t0'),
tips: $lang('fenxiao.index.l540'),
condition: this.moneyFormat(level.order_money),
value: this.info.order_money,
progress: parseFloat(this.info.order_money) > parseFloat(level.order_money) ?
@@ -549,9 +549,9 @@ export default {
}
if (level.one_child_num > 0) {
let task = {
title: '邀请好友',
desc: '邀请好友人数达到' + level.one_child_num + '人',
tips: '分销商的直属下级会员人数(包含已经申请成为分销商的)',
title: $lang('fenxiao.index.l133'),
desc: $lang('fenxiao.index.l553') + level.one_child_num + $lang('fenxiao.child_fenxiao.l23'),
tips: $lang('fenxiao.index.l554'),
condition: level.one_child_num,
value: this.info.one_child_num,
progress: parseFloat(this.info.one_child_num) > parseFloat(level.one_child_num) ?
@@ -563,9 +563,9 @@ export default {
}
if (level.one_child_fenxiao_num > 0) {
let task = {
title: '邀请好友',
desc: '邀请好友成为分销商人数达到' + level.one_child_fenxiao_num + '人',
tips: '分销商的直属下级分销商人数',
title: $lang('fenxiao.index.l133'),
desc: $lang('fenxiao.index.l567') + level.one_child_fenxiao_num + $lang('fenxiao.child_fenxiao.l23'),
tips: $lang('fenxiao.index.l568'),
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) ?

View File

@@ -17,15 +17,15 @@
</view>
<view class="level-rate">
<view class="rate-item" v-if="config.level > 0">
<view class="title">一级分佣比率</view>
<view class="title">{{ $lang("fenxiao.level.l20") }}</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">二级分佣比率</view>
<view class="title">{{ $lang("fenxiao.level.l24") }}</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">三级分佣比率</view>
<view class="title">{{ $lang("fenxiao.level.l28") }}</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">快速升级技巧</view>
<view class="title">{{ $lang("fenxiao.index.l223") }}</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 ? '已完成' : '未完成' }}</view>
{{ item.progress == 100 ? '已完成' : $lang('fenxiao.index.l231') }}</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">提示</text>
<text class="tit">{{ $lang("common.wxwork-contact.l202.t0") }}</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 ? '满足任意一条件即可升级' : '满足全部条件才能进行升级' }}</view>
<view v-if="levelInfo">{{ levelInfo.upgrade_type == 1 ? '满足任意一条件即可升级' : $lang('fenxiao.index.l254') }}</view>
</view>
</view>
</uni-popup>
@@ -114,9 +114,9 @@
if (level.one_fenxiao_order_num > 0) {
let task = {
title: '下级消费',
desc: '下级消费单数满' + level.one_fenxiao_order_num + '单',
tips: '分销商自己购买和自己推荐的直属会员购买的订单次数达到'+ level.one_fenxiao_order_num + '单',
title: $lang('fenxiao.index.l483'),
desc: $lang('fenxiao.index.l484') + level.one_fenxiao_order_num + $lang('fenxiao.child_fenxiao.l24'),
tips: $lang('fenxiao.level.l119')+ level.one_fenxiao_order_num + $lang('fenxiao.child_fenxiao.l24'),
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: '下级消费',
desc: '下级消费金额满' + this.moneyFormat(level.one_fenxiao_total_order) + '元',
tips: '分销商自己购买和推荐的直属会员购买的订单的总额达到'+ this.moneyFormat(level.one_fenxiao_total_order) + '元',
title: $lang('fenxiao.index.l483'),
desc: $lang('fenxiao.index.l498') + this.moneyFormat(level.one_fenxiao_total_order) + $lang('common.register-reward.l45.t0'),
tips: $lang('fenxiao.level.l131')+ this.moneyFormat(level.one_fenxiao_total_order) + $lang('common.register-reward.l45.t0'),
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: '下级消费',
desc: '下级消费产生佣金总额满' + this.moneyFormat(level.one_fenxiao_order_money) + '元',
tips: '分销商自己购买和自己推荐的直属会员购买的订单佣金总额达到'+ this.moneyFormat(level.one_fenxiao_order_money) + '元',
title: $lang('fenxiao.index.l483'),
desc: $lang('fenxiao.level.l143') + this.moneyFormat(level.one_fenxiao_order_money) + $lang('common.register-reward.l45.t0'),
tips: $lang('fenxiao.level.l144')+ this.moneyFormat(level.one_fenxiao_order_money) + $lang('common.register-reward.l45.t0'),
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: '自身消费',
desc: '自身消费单数满' + level.order_num + '单',
tips: '分销商自己购买的订单次数达到'+ level.order_num + '单',
title: $lang('fenxiao.index.l526'),
desc: $lang('fenxiao.index.l527') + level.order_num + $lang('fenxiao.child_fenxiao.l24'),
tips: $lang('fenxiao.level.l157')+ level.order_num + $lang('fenxiao.child_fenxiao.l24'),
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: '自身消费',
desc: '自身消费金额满' + this.moneyFormat(level.order_money) + '元',
tips: '分销商自己购买的订单总额满足'+ this.moneyFormat(level.order_money) + '元',
title: $lang('fenxiao.index.l526'),
desc: $lang('fenxiao.index.l539') + this.moneyFormat(level.order_money) + $lang('common.register-reward.l45.t0'),
tips: $lang('fenxiao.level.l169')+ this.moneyFormat(level.order_money) + $lang('common.register-reward.l45.t0'),
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: '邀请好友',
desc: '邀请好友人数达到' + level.one_child_num + '人',
tips: '分销商的直属下级会员人数达到'+level.one_child_num+'人(包含已经申请成为分销商的)',
title: $lang('fenxiao.index.l133'),
desc: $lang('fenxiao.index.l553') + level.one_child_num + $lang('fenxiao.child_fenxiao.l23'),
tips: $lang('fenxiao.level.l181')+level.one_child_num+$lang('fenxiao.level.l181'),
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: '邀请好友',
desc: '邀请好友成为分销商人数达到' + level.one_child_fenxiao_num + '人',
tips: '分销商的直属下级分销商人数达到'+ level.one_child_fenxiao_num + '人',
title: $lang('fenxiao.index.l133'),
desc: $lang('fenxiao.index.l567') + level.one_child_fenxiao_num + $lang('fenxiao.child_fenxiao.l23'),
tips: $lang('fenxiao.level.l193')+ level.one_child_fenxiao_num + $lang('fenxiao.child_fenxiao.l23'),
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: '商家未开启分销',
title: $lang('fenxiao.apply.l194'),
mask: true,
duration: 2000
});
@@ -218,7 +218,7 @@
}
},1000);
if (this.fenxiaoWords && this.fenxiaoWords.fenxiao_name) this.$langConfig.title(this.fenxiaoWords.fenxiao_name + '等级');
if (this.fenxiaoWords && this.fenxiaoWords.fenxiao_name) this.$langConfig.title(this.fenxiaoWords.fenxiao_name + $lang('fenxiao.level.l221'));
if (this.storeToken) {
this.getFenxiaoInfo();

View File

@@ -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("fenxiao.order.l17") }}</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("fenxiao.order.l19") }}</text>
<text class="status-name color-text-orange" v-else>{{ $lang("fenxiao.order.l20") }}</text>
</view>
<view class="order-body">
@@ -30,9 +30,9 @@
<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("diy.diy-pinfan.l52.t0") } fenxiaoWords.account }}</text>
<text class="price-color price-style small">{{
$lang('common.currencySymbol') }}</text>
$lang('common.currency_symbol') }}</text>
<text class="price-color price-style large">{{
parseFloat(orderItem.commission).toFixed(2).split(".")[0] }}</text>
<text class="price-color price-style small">.{{
@@ -41,7 +41,7 @@
</view>
<view class="goods-sub-section">
<view class="goods-price">
<text class="unit price-style small">{{ $lang('common.currencySymbol')
<text class="unit price-style small">{{ $lang('common.currency_symbol')
}}</text>
<text class="price-color price-style large">{{
parseFloat(orderItem.price).toFixed(2).split(".")[0] }}</text>
@@ -62,12 +62,12 @@
<view class="order-base-info active">
<view class="order-type ">
<text class="color-tip">{{ $util.timeStampTurnTime(orderItem.create_time) }}</text>
<!-- <text>返{{ fenxiaoWords.account }}金额:</text>
<text class="color-base-text">{{ $lang('common.currencySymbol') }}{{ orderItem.commission }}</text> -->
<!-- <text>{ $lang("diy.diy-pinfan.l52.t0") } fenxiaoWords.account }}金额:</text>
<text class="color-base-text">{{ $lang('common.currency_symbol') }}{{ orderItem.commission }}</text> -->
</view>
<view class="total">
<text>合计:</text>
<text class="price-color">{{ $lang('common.currencySymbol') }}</text>
<text>{{ $lang("order._components.common-payment.l408.t0") }}</text>
<text class="price-color">{{ $lang('common.currency_symbol') }}</text>
<text class="price-color font-size-toolbar">{{
parseFloat(orderItem.real_goods_money).toFixed(2).split(".")[0] }}</text>
<text class="price-color">.{{
@@ -108,22 +108,22 @@ export default {
category: [
{
id: 0,
name: '全部',
name: $lang('diy.diy-category-item.l47.t0'),
number: 2
},
{
id: 1,
name: '待结算',
name: $lang('fenxiao.order.l20'),
number: 0
},
{
id: 2,
name: '已结算',
name: $lang('fenxiao.order.l19'),
number: 0
},
{
id: 3,
name: '已退款',
name: $lang('fenxiao.order.l17'),
number: 0
}
],
@@ -142,7 +142,7 @@ export default {
setTimeout(() => {
if (!this.addonIsExist.fenxiao) {
this.$util.showToast({
title: '商家未开启分销',
title: $lang('fenxiao.apply.l194'),
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 + $lang('fenxiao.index.l114'));
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("goods.cart.l8") } 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("fenxiao.order.l17") }}</text>
<text class="color-base-text font-size-tag" v-else-if="orderData.is_settlement == 1">{{ $lang("fenxiao.order.l19") }}</text>
<text class="color-base-text font-size-tag" v-else>{{ $lang("fenxiao.order.l20") }}</text>
</view>
<view class="detail-body">
<view class="detail-body-box">
@@ -37,27 +37,27 @@
<view class="detail-footer">
<text></text>
<text>
<text>合计:</text>
<text>{{ $lang("order._components.common-payment.l408.t0") }}</text>
<text class="price-color total">¥{{ 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("fenxiao.order_detail.l47") }}</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("order.detail.l214") }}</text>
<text>{{ orderData.order_no }}</text>
</view>
<view class="order-info-item">
<text class="tit">分佣层级:</text>
<text class="tit">{{ $lang("fenxiao.order_detail.l56") }}</text>
<text>{{ orderData.commission_level }}级</text>
</view>
<view class="order-info-item">
<text class="tit">返佣金额:</text>
<text class="tit">{{ $lang("fenxiao.order_detail.l60") }}</text>
<text class="price-color font-size-toolbar">
<text class="font-size-goods-tag">¥</text>
{{ parseFloat(orderData.commission).toFixed(2).split(".")[0] }}
@@ -100,7 +100,7 @@ export default {
setTimeout( () => {
if (!this.addonIsExist.fenxiao) {
this.$util.showToast({
title: '商家未开启分销',
title: $lang('fenxiao.apply.l194'),
mask: true,
duration: 2000
});
@@ -133,7 +133,7 @@ export default {
this.orderData = res.data;
} else {
this.$util.showToast({
title: '未获取到订单信息!'
title: $lang('order.detail.l737')
});
setTimeout(() => {
this.$util.redirectTo('/pages_promotion/fenxiao/order', {}, 'redirectTo');

View File

@@ -18,8 +18,8 @@
</view>
<view class="earnings-body">
<view class="earnings-tab">
<text :class="{ active: tabIndex == 0 }" @click="tabCut(0)">已邀请好友</text>
<text :class="{ active: tabIndex == 1 }" @click="tabCut(1)">已下单好友</text>
<text :class="{ active: tabIndex == 0 }" @click="tabCut(0)">{{ $lang("fenxiao.promote.l21") }}</text>
<text :class="{ active: tabIndex == 1 }" @click="tabCut(1)">{{ $lang("fenxiao.promote.l22") }}</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>暂无已邀请好友,快去邀请吧</view>
<view class="earnings-empty" v-else>{{ $lang("fenxiao.promote.l35") }}</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>暂无活动规则</view>
<view class="rules-empty" v-else>{{ $lang("fenxiao.promote.l44") }}</view>
</view>
<view class="active-btn"><button type="primary" @click="toPoster()">邀请好友</button></view>
<view class="active-btn"><button type="primary" @click="toPoster()">{{ $lang("fenxiao.index.l133") }}</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: '商家未开启分销',
title: $lang('fenxiao.apply.l194'),
mask: true,
duration: 2000
});

View File

@@ -11,22 +11,22 @@
</swiper>
<!-- #ifdef H5 -->
<view class="tips">长按识别图中二维码</view>
<view class="tips">{{ $lang("fenxiao.promote_code.l14") }}</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("fenxiao.promote_code.l18") }}</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("common.wxwork-contact.l202.t0") }}</view>
<view class="message">{{ $lang("fenxiao.promote_code.l24") }}</view>
<view class="action-wrap">
<view @click="closeDialog">取消</view>
<view @click="closeDialog">{{ $lang("common.pick-regions.l17.t0") }}</view>
<view>
<button type="default" open-type="openSetting" @opensetting="closeDialog"
hover-class="none">立即授权</button>
hover-class="none">{{ $lang("fenxiao.promote_code.l29") }}</button>
</view>
</view>
</view>
@@ -95,7 +95,7 @@ export default {
filePath: res.tempFilePath,
success: () => {
this.$util.showToast({
title: '保存成功'
title: $lang('goods._components.goods-detail-view.detail.l351.t0')
});
},
fail: res => {
@@ -104,20 +104,20 @@ export default {
this.$refs.popupDialog.open();
} else {
this.$util.showToast({
title: '保存失败,请稍后重试'
title: $lang('goods._components.goods-detail-view.detail.l356.t0')
});
}
}
});
} else {
this.$util.showToast({
title: '下载失败'
title: $lang('fenxiao.promote_code.l114')
});
}
},
fail: res => {
this.$util.showToast({
title: '下载失败'
title: $lang('fenxiao.promote_code.l114')
});
}
});
@@ -136,7 +136,7 @@ export default {
});
} catch {
this.$util.showToast({
title: '海报生成失败'
title: $lang('fenxiao.promote_code.l139')
});
}
},
@@ -149,7 +149,7 @@ export default {
setTimeout(() => {
if (!this.addonIsExist.fenxiao) {
this.$util.showToast({
title: '商家未开启分销',
title: $lang('fenxiao.apply.l194'),
mask: true,
duration: 2000
});

View File

@@ -22,7 +22,7 @@ export default {
setTimeout(() => {
if (!this.addonIsExist.fenxiao) {
this.$util.showToast({
title: '商家未开启分销',
title: $lang('fenxiao.apply.l194'),
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 + $lang('fenxiao.index.l293'));
this.is_fenxiao = Boolean(this.memberInfo.is_fenxiao);
},
methods: {
@@ -157,7 +157,7 @@ export default {
//生成海报
getGoodsPoster() {
uni.showLoading({
'title': '海报生成中...'
'title': $lang('goods._components.goods-detail-view.detail.l285.t0')
});
let url = "";
let data = {};
@@ -204,12 +204,12 @@ export default {
filePath: res.tempFilePath,
success: () => {
this.$util.showToast({
title: "保存成功"
title: $lang("goods._components.goods-detail-view.detail.l351.t0")
});
},
fail: () => {
this.$util.showToast({
title: "保存失败,请稍后重试"
title: $lang("goods._components.goods-detail-view.detail.l356.t0")
});
}
});

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("fenxiao.ranking_list.l19") }}</view>
<view class="withdrawal" @click="$util.redirectTo('/pages_promotion/fenxiao/team')"
v-if="type == 'invited_num'">我的团队</view>
v-if="type == 'invited_num'">{{ $lang("fenxiao.ranking_list.l21") }}</view>
</view>
</view>
</view>
@@ -30,7 +30,7 @@
<text class="iconfont icon-fenxiao"></text>
</view>
<view class="all-money-tit-wrap">
<text class="all-money-tit">分销佣金</text>
<text class="all-money-tit">{{ $lang("fenxiao.ranking_list.l33") }}</text>
<text class="all-money-num">{{ info.today_commission }}元</text>
</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("fenxiao.ranking_list.l44") }}</text>
<text class="all-money-num">{ $lang("fenxiao.ranking_list.l45") } ranking }}名</text>
</view>
</view>
</view>
@@ -54,7 +54,7 @@
<text class="iconfont icon-huodongtuiyan"></text>
</view>
<view class="all-money-tit-wrap">
<text class="all-money-tit">推广人数</text>
<text class="all-money-tit">{{ $lang("fenxiao.ranking_list.l57") }}</text>
<text class="all-money-num">{{ info.one_child_num }}人</text>
</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("fenxiao.ranking_list.l68") }}</text>
<text class="all-money-num">{ $lang("fenxiao.ranking_list.l45") } 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("fenxiao.ranking_list.l44") }}</view>
<view class="title-rakn-text" v-if="type == 'invited_num'">{{ $lang("fenxiao.ranking_list.l68") }}</view>
<view class="ranking-list">
<view class="ranking-item" v-for="(item, index) in list" :key="index">

View File

@@ -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">已退款</text>
<text class="status-name color-base-text" v-if="orderItem.is_refund == 1">{{ $lang("fenxiao.order.l17") }}</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("fenxiao.order.l19") }}</text>
<text class="status-name color-text-orange" v-else>{{ $lang("fenxiao.order.l20") }}</text>
</view>
<view class="order-body">
@@ -23,16 +23,16 @@
<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("diy.diy-pinfan.l52.t0") } fenxiaoWords.account }}</text>
<text class="price-color font-size-goods-tag">{{
$lang('common.currencySymbol') }}</text>
$lang('common.currency_symbol') }}</text>
<text class="price-color font-size-toolbar">{{ orderItem.commission
}}</text>
</view>
</view>
<view class="goods-sub-section">
<view class="goods-price">
<text class="unit price-color">{{ $lang('common.currencySymbol') }}</text>
<text class="unit price-color">{{ $lang('common.currency_symbol') }}</text>
<text class="price-color font-size-toolbar">{{ orderItem.price }}</text>
</view>
<view>
@@ -49,12 +49,12 @@
<view class="order-base-info active">
<view class="order-type ">
<text class="color-tip">{{ $util.timeStampTurnTime(orderItem.create_time) }}</text>
<!-- <text>返{{ fenxiaoWords.account }}金额:</text>
<text class="color-base-text">{{ $lang('common.currencySymbol') }}{{ orderItem.commission }}</text> -->
<!-- <text>{ $lang("diy.diy-pinfan.l52.t0") } fenxiaoWords.account }}金额:</text>
<text class="color-base-text">{{ $lang('common.currency_symbol') }}{{ orderItem.commission }}</text> -->
</view>
<view class="total">
<text>合计:</text>
<text class="price-color">{{ $lang('common.currencySymbol') }}</text>
<text>{{ $lang("order._components.common-payment.l408.t0") }}</text>
<text class="price-color">{{ $lang('common.currency_symbol') }}</text>
<text class="font-size-toolbar price-color">{{ orderItem.real_goods_money }}</text>
</view>
</view>
@@ -93,7 +93,7 @@ export default {
}
},
onShow() {
if (this.fenxiaoWords && this.fenxiaoWords.concept) this.$langConfig.title(this.fenxiaoWords.concept + '订单');
if (this.fenxiaoWords && this.fenxiaoWords.concept) this.$langConfig.title(this.fenxiaoWords.concept + $lang('fenxiao.index.l114'));
},
methods: {
//获得列表数据

View File

@@ -89,11 +89,11 @@ export default {
return {
levelList: [
{
name: '一级',
name: $lang('fenxiao.team.l92'),
level: 1
},
{
name: '二级',
name: $lang('fenxiao.team.l96'),
level: 2
}
],
@@ -108,7 +108,7 @@ export default {
setTimeout(() => {
if (!this.addonIsExist.fenxiao) {
this.$util.showToast({
title: '商家未开启分销',
title: $lang('fenxiao.apply.l194'),
mask: true,
duration: 2000
});

File diff suppressed because it is too large Load Diff

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('diy.diy-member-info.l146.t0') ||
item.transfer_type == 'alipay' && $lang('fenxiao.withdraw_list.l12') || item.transfer_type == 'bank' && $lang('fenxiao.withdraw_list.l12') ||
item.transfer_type =='wechatpay'&&$lang('fenxiao.withdraw_list.l13') }}</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("fenxiao.withdraw_list.l28")></ns-empty>
</block>
</view>
</mescroll-uni>
@@ -42,19 +42,19 @@ export default {
withdrawState: {
'3': {
color: 'color: rgb(255, 69, 68)',
text: '已转账'
text: $lang('fenxiao.withdraw_list.l45')
},
'1': {
color: 'color: rgb(255, 160, 68)',
text: '待审核'
text: $lang('fenxiao.withdraw_list.l49')
},
'2': {
color: 'color: rgb(17, 189, 100)',
text: '已审核'
text: $lang('fenxiao.withdraw_list.l53')
},
'-1': {
color: 'color: rgb(255, 69, 68)',
text: '已拒绝'
text: $lang('fenxiao.withdraw_list.l57')
}
},
withdrawList: [],
@@ -65,7 +65,7 @@ export default {
setTimeout(() => {
if (!this.addonIsExist.fenxiao) {
this.$util.showToast({
title: '商家未开启分销',
title: $lang('fenxiao.apply.l194'),
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 + $lang('fenxiao.withdraw_list.l78'));
if (!this.storeToken) {
this.$nextTick(() => {

View File

@@ -7,43 +7,43 @@
<!-- 状态0待审核1.待转账2已转账 -1拒绝' -->
<view class="item">
<view class="line-wrap">
<text class="label">当前状态</text>
<text class="label">{{ $lang("fenxiao.withdrawal_detail.l10") }}</text>
<text class="value">{{ detail.status_name }}</text>
</view>
<view class="line-wrap">
<text class="label">交易号</text>
<text class="label">{{ $lang("fenxiao.withdrawal_detail.l14") }}</text>
<text class="value">{{ detail.withdraw_no }}</text>
</view>
<view class="line-wrap">
<text class="label">手续费</text>
<text class="label">{{ $lang("fenxiao.withdrawal_detail.l18") }}</text>
<text class="value">¥{{ detail.withdraw_rate_money }}</text>
</view>
<view class="line-wrap">
<text class="label">申请时间</text>
<text class="label">{{ $lang("fenxiao.withdrawal_detail.l22") }}</text>
<text class="value">{{ $util.timeStampTurnTime(detail.create_time) }}</text>
</view>
<view class="line-wrap" v-if="detail.status">
<text class="label">审核时间</text>
<text class="label">{{ $lang("fenxiao.withdrawal_detail.l26") }}</text>
<text class="value">{{ $util.timeStampTurnTime(detail.audit_time) }}</text>
</view>
<view class="line-wrap" v-if="detail.bank_name">
<text class="label">银行名称</text>
<text class="label">{{ $lang("fenxiao.withdrawal_detail.l30") }}</text>
<text class="value">{{ detail.bank_name }}</text>
</view>
<view class="line-wrap" v-if="detail.account_number">
<text class="label">收款账号</text>
<text class="label">{{ $lang("fenxiao.withdrawal_detail.l34") }}</text>
<text class="value">{{ detail.account_number }}</text>
</view>
<view class="line-wrap" v-if="detail.status == -1 && detail.refuse_reason">
<text class="label">拒绝理由</text>
<text class="label">{{ $lang("fenxiao.withdrawal_detail.l38") }}</text>
<text class="value">{{ detail.refuse_reason }}</text>
</view>
<view class="line-wrap" v-if="detail.status == 3">
<text class="label">转账方式名称</text>
<text class="label">{{ $lang("fenxiao.withdrawal_detail.l42") }}</text>
<text class="value">{{ detail.transfer_name }}</text>
</view>
<view class="line-wrap" v-if="detail.status == 3">
<text class="label">转账时间</text>
<text class="label">{{ $lang("fenxiao.withdrawal_detail.l46") }}</text>
<text class="value">{{ $util.timeStampTurnTime(detail.payment_time) }}</text>
</view>
</view>