refactor: 替换页面中硬编码文本为多语言配置

将项目中多处页面的硬编码字符串替换为国际化语言包调用,统一文本管理,方便后续多语言扩展和维护
This commit is contained in:
2026-06-22 10:47:27 +08:00
parent 45830ebda4
commit 014046bc9e
33 changed files with 382 additions and 380 deletions

View File

@@ -394,11 +394,11 @@ export default {
var rule = [{
name: 'mobile',
checkType: 'required',
errorMsg: '请输入手机号'
errorMsg: this.$lang('login.mobileInputPlaceholder')
}, {
name: 'mobile',
checkType: 'phoneno',
errorMsg: '请输入正确的手机号'
errorMsg: this.$lang('login.mobileFormatError')
}];
if (this.captchaConfig == 1) {
rule.push({
@@ -417,7 +417,7 @@ export default {
this.dynacodeData.isSend = true;
this.dynacodeData.timer = setInterval(() => {
this.dynacodeData.seconds--;
this.dynacodeData.codeText = this.dynacodeData.seconds + 's后可重新获取';
this.dynacodeData.codeText = this.dynacodeData.seconds + this.$lang('login.secondsToRetry');
}, 1000);
this.$api.sendRequest({
@@ -447,7 +447,7 @@ export default {
this.dynacodeData = {
seconds: 120,
timer: null,
codeText: '获取动态码',
codeText: this.$lang('login.getDynacode'),
isSend: false
};
},

View File

@@ -7,7 +7,7 @@
v-if="type == 'fenxiao' && payList && payList.balance">
<view class="item-top">
<view class="item-left">
<view class="title-text">提现到余额</view>
<view class="title-text">{{ $lang('member.withdrawToBalance') }}</view>
</view>
</view>
</view>
@@ -22,19 +22,19 @@
</view>
<view class="content-bottom">
<block v-if="item.withdraw_type == 'alipay'">
提现账号:{{ item.bank_account }}
{{ $lang('member.withdrawAccount') }}:{{ item.bank_account }}
</block>
<block v-if="item.withdraw_type == 'bank'">
银行名称 :{{ item.branch_bank_name }}
{{ $lang('member.bankName') }} :{{ item.branch_bank_name }}
</block>
</view>
</view>
<view class="item-btn" @click.stop="editAccount('edit', item.id)">修改</view>
<view class="item-btn" @click.stop="editAccount('edit', item.id)">{{ $lang('form.edit') }}</view>
</view>
<view class="item-bottom">
<view class="account-default" @click="setDefault(item.id, item.is_default)">
<text class="default">设为默认账户</text>
<text class="default">{{ $lang('member.setDefaultAccount') }}</text>
<switch v-if="item.is_default == 1" checked disabled style="transform:scale(0.7)"
:color="themeStyle.main_color" />
<switch v-else style="transform:scale(0.7)" :color="themeStyle.main_color" />
@@ -52,7 +52,7 @@
v-if="dataList.length <= 0 && (type != 'fenxiao' || (type == 'fenxiao' && payList && !payList.balance))"
class="empty-box">
<image :src="$util.img('public/uniapp/member/account/empty.png')" mode="widthFix" show-menu-by-longpress></image>
<view class="tips">暂无账户信息,请添加</view>
<view class="tips">{{ $lang('member.noAccountTip') }}</view>
<button type="primary" class="add-account" @click="editAccount('add')">{{ $lang('newAddAccount')
}}</button>
</view>
@@ -103,8 +103,8 @@ export default {
},
deleteAccount(id) {
uni.showModal({
title: '操作提示',
content: '确定要删除该账户吗?',
title: this.$lang('member.operationTip'),
content: this.$lang('member.deleteAccountConfirm'),
success: res => {
if (res.confirm) {
this.$api.sendRequest({
@@ -115,12 +115,12 @@ export default {
success: result => {
if (result.code == 0) {
this.$util.showToast({
title: '删除成功'
title: this.$lang('member.deleteSuccess')
});
this.$refs.mescroll.refresh();
} else {
this.$util.showToast({
title: '删除失败'
title: this.$lang('member.deleteFail')
});
}
}
@@ -181,9 +181,9 @@ export default {
this.dataList = this.dataList.concat(newArr); //追加新数据
let withdrawType = {
bank: '银行',
alipay: '支付宝',
wechatpay: '微信'
bank: this.$lang('member.bank'),
alipay: this.$lang('member.alipay'),
wechatpay: this.$lang('member.wechat')
};
this.dataList.forEach(item => {

View File

@@ -2,11 +2,11 @@
<view class="account-list-content" :style="themeColor">
<view class="edit-item">
<text class="tit">{{ $lang('name') }}</text>
<input class="desc uni-input" type="text" maxlength="30" placeholder="请输入真实姓名" name="name" v-model="formData.realname" />
<input class="desc uni-input" type="text" maxlength="30" :placeholder="$lang('member.realNamePlaceholder')" name="name" v-model="formData.realname" />
</view>
<view class="edit-item">
<text class="tit">{{ $lang('mobilePhone') }}</text>
<input class="desc uni-input" type="number" maxlength="11" placeholder="请输入手机号" v-model="formData.mobile" />
<input class="desc uni-input" type="number" maxlength="11" :placeholder="$lang('member.mobilePlaceholder')" v-model="formData.mobile" />
</view>
<view class="edit-item">
<text class="tit">{{ $lang('accountType') }}</text>
@@ -16,12 +16,12 @@
</picker>
</view>
<view class="edit-item" v-if="formData.withdraw_type == 'bank'">
<text class="tit">银行名称</text>
<input class="desc uni-input" type="text" maxlength="50" placeholder="请输入银行名称" v-model.trim="formData.branch_bank_name" />
<text class="tit">{{ $lang('member.bankName') }}</text>
<input class="desc uni-input" type="text" maxlength="50" :placeholder="$lang('member.bankPlaceholder')" v-model.trim="formData.branch_bank_name" />
</view>
<view class="edit-item" v-if="formData.withdraw_type != 'wechatpay'">
<text class="tit">提现账号</text>
<input class="desc uni-input" type="text" maxlength="30" placeholder="请输入提现账号" v-model.trim="formData.bank_account" />
<text class="tit">{{ $lang('member.withdrawAccount') }}</text>
<input class="desc uni-input" type="text" maxlength="30" :placeholder="$lang('member.bankAccountPlaceholder')" v-model.trim="formData.bank_account" />
</view>
<view class="btn">
<button type="primary" class="add" @click="saveAccount">{{ $lang('save') }}</button>
@@ -64,11 +64,11 @@ export default {
}
if (this.formData.id) {
uni.setNavigationBarTitle({
title: '编辑账户'
title: this.$lang('member.editAccount')
});
} else {
uni.setNavigationBarTitle({
title: '新增账户'
title: this.$lang('member.newAddAccount')
});
}
},
@@ -160,36 +160,36 @@ export default {
{
name: 'realname',
checkType: 'required',
errorMsg: '请输入姓名'
errorMsg: this.$lang('member.inputName')
},
{
name: 'mobile',
checkType: 'required',
errorMsg: '请输入手机号'
errorMsg: this.$lang('member.inputMobile')
},
{
name: 'mobile',
checkType: 'phoneno',
errorMsg: '请输入正确的手机号'
errorMsg: this.$lang('member.inputMobileCorrect')
},
{
name: 'withdraw_type',
checkType: 'required',
errorMsg: '请选择账户类型'
errorMsg: this.$lang('member.selectAccountType')
}
];
if (this.formData.withdraw_type == 'bank') {
rule.push({
name: 'branch_bank_name',
checkType: 'required',
errorMsg: '请输入银行名称'
errorMsg: this.$lang('member.inputBankName')
});
}
if (this.formData.withdraw_type != 'wechatpay') {
rule.push({
name: 'bank_account',
checkType: 'required',
errorMsg: '请输入提现账号'
errorMsg: this.$lang('member.inputWithdrawAccount')
});
}
var checkRes = validate.check(this.formData, rule);

View File

@@ -35,8 +35,8 @@
<view class="address-item-bottom">
<view class="address-default" @click="setDefault(item.id, item.is_default)">
<text class="default" v-if="localType == 2 && item.local_data">设为默认地址</text>
<text class="default" v-else>设为默认地址</text>
<text class="default" v-if="localType == 2 && item.local_data">{{ $lang('address.setDefault') }}</text>
<text class="default" v-else>{{ $lang('address.setDefault') }}</text>
<switch v-if="item.is_default == 1" checked disabled style="transform:scale(0.7)"
:color="themeStyle.main_color" />
<switch v-else style="transform:scale(0.7)" :color="themeStyle.main_color" />
@@ -54,7 +54,7 @@
<view v-if="addressList.length == 0 && showEmpty" class="empty-box">
<image :src="$util.img('public/uniapp/member/address/empty.png')" mode="widthFix" show-menu-by-longpress/>
<view class="tips">暂无收货地址,请添加</view>
<view class="tips">{{ $lang('address.emptyTip') }}</view>
<button type="primary" class="add-address" @click="addAddress('add')">{{ $lang('newAddAddress')
}}</button>
@@ -192,13 +192,13 @@ export default {
/* 删除地址信息 */
deleteAddress(id, is_default) {
uni.showModal({
title: '操作提示',
content: '确定要删除该地址吗?',
title: this.$lang('form.operationTip'),
content: this.$lang('address.deleteConfirm'),
success: res => {
if (res.confirm) {
if (is_default == 1) {
this.$util.showToast({
title: '默认地址,不能删除'
title: this.$lang('address.defaultAddressCannotDelete')
});
return;
}
@@ -210,11 +210,11 @@ export default {
success: res => {
if (res.code == 0) {
this.$util.showToast({
title: '删除成功'
title: this.$lang('form.deleteSuccess')
});
} else {
this.$util.showToast({
title: '删除失败'
title: this.$lang('form.deleteFailed')
});
}
this.$refs.mescroll.refresh();
@@ -244,7 +244,7 @@ export default {
this.addressList = [];
this.$refs.mescroll.refresh();
this.$util.showToast({
title: '修改默认地址成功'
title: this.$lang('address.setDefaultSuccess')
});
}
} else {
@@ -279,18 +279,18 @@ export default {
wxJS.openAddress(res => {
if (res.errMsg == 'openAddress:ok') {
this.saveAddress({
name: res.userName, // 收货人姓名,
mobile: res.telNumber, // 手机号
province: res.provinceName, // 省
city: res.cityName, // 市
district: res.countryName, // 县
address: res.detailInfo, // 详细地址
name: res.userName,
mobile: res.telNumber,
province: res.provinceName,
city: res.cityName,
district: res.countryName,
address: res.detailInfo,
full_address: res.provinceName + '-' + res.cityName + '-' + res.countryName,
is_default: 1
});
} else {
this.$util.showToast({
title: res.errMsg == 'openAddress:function not implement' ? 'PC端微信不支持一键获取地址' : res.errMsg
title: res.errMsg == 'openAddress:function not implement' ? this.$lang('address.wechatNotSupported') : res.errMsg
});
}
});

View File

@@ -1,7 +1,7 @@
<template>
<view class="address-edit-content" :style="themeColor">
<view class="edit-wrap">
<view class="tip">地址信息</view>
<view class="tip">{{ $lang('address.addressInfo') }}</view>
<view class="edit-item">
<text class="tit">
{{ $lang('consignee') }}
@@ -41,7 +41,7 @@
<text>*</text>
</text>
<view class="text_inp" :class="{ empty: !formData.full_address, 'color-tip': !formData.full_address }" @click="selectAddress">
{{ formData.full_address ? formData.full_address : '请选择省市区县' }}
{{ formData.full_address ? formData.full_address : $lang('member.selectRegion') }}
</view>
<text @click="selectAddress" class="padding-left iconfont icon-location"></text>
@@ -55,7 +55,7 @@
</text>
<pick-regions :default-regions="defaultRegions" @getRegions="handleGetRegions">
<text class="select-address " :class="{ empty: !formData.full_address, 'color-tip': !formData.full_address }">
{{ formData.full_address ? formData.full_address : '请选择省市区县' }}
{{ formData.full_address ? formData.full_address : $lang('member.selectRegion') }}
</text>
</pick-regions>
</view>
@@ -135,11 +135,11 @@
onShow() {
if (this.formData.id) {
uni.setNavigationBarTitle({
title: '编辑收货地址'
title: this.$lang('address.editAddress')
});
} else {
uni.setNavigationBarTitle({
title: '新增收货地址'
title: this.$lang('address.addAddress')
});
}
},
@@ -296,27 +296,27 @@
var rule = [{
name: 'name',
checkType: 'required',
errorMsg: '请输入姓名'
errorMsg: this.$lang('form.inputName')
},
{
name: 'mobile',
checkType: 'required',
errorMsg: '请输入手机号'
errorMsg: this.$lang('form.inputMobile')
},
{
name: 'mobile',
checkType: 'phoneno',
errorMsg: '请输入正确的手机号'
errorMsg: this.$lang('form.inputCorrectMobile')
},
{
name: 'full_address',
checkType: 'required',
errorMsg: '请选择省市区县'
errorMsg: this.$lang('form.selectRegion')
},
{
name: 'address',
checkType: 'required',
errorMsg: '详细地址不能为空'
errorMsg: this.$lang('form.addressNotEmpty')
}
];
var checkRes = validate.check(this.formData, rule);

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">
<text class="tx-to">提现到</text>
<view class="tx-bank" v-if="bankAccountInfo.withdraw_type == 'wechatpay'">微信默认钱包</view>
<text class="tx-to">{{ $lang('member.withdrawTo') }}</text>
<view class="tx-bank" v-if="bankAccountInfo.withdraw_type == 'wechatpay'">{{ $lang('member.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,12 +16,12 @@
</image>
</view>
</view>
<text class="tx-to" v-else>请添加提现方式</text>
<text class="tx-to" v-else>{{ $lang('member.addWithdrawMethod') }}</text>
<view class="iconfont icon-right"></view>
</view>
<view class="empty-box"></view>
<view class="withdraw-wrap">
<view class="withdraw-wrap-title">提现金额</view>
<view class="withdraw-wrap-title">{{ $lang('member.withdrawalAmount') }}</view>
<view class="money-wrap">
<text class="unit">{{ $lang('common.currencySymbol') }}</text>
<input type="digit" class="withdraw-money" v-model="withdrawMoney" />
@@ -31,22 +31,22 @@
</view>
<view class="bootom">
<view>
<text class="color-tip">可提现余额:{{ $lang('common.currencySymbol') }}{{ withdrawInfo.member_info.balance_money | moneyFormat }}</text>
<text class="all-tx color-base-text" @click="allTx">全部提现</text>
<text class="color-tip">{{ $lang('member.withdrawableBalance') }}:{{ $lang('common.currencySymbol') }}{{ withdrawInfo.member_info.balance_money | moneyFormat }}</text>
<text class="all-tx color-base-text" @click="allTx">{{ $lang('member.allWithdraw') }}</text>
</view>
</view>
<view class="desc">
<text>最小提现金额为{{ $lang('common.currencySymbol') }}{{ withdrawInfo.config.min | moneyFormat }}</text>
<text>,手续费为{{ withdrawInfo.config.rate + '%' }}</text>
<text>{{ $lang('member.minWithdrawAmount') }}{{ $lang('common.currencySymbol') }}{{ withdrawInfo.config.min | moneyFormat }}</text>
<text>{{ $lang('member.withdrawFeeRate') }}{{ withdrawInfo.config.rate + '%' }}</text>
</view>
</view>
<view class="btn color-base-border ns-gradient-otherpages-member-widthdrawal-withdrawal" :class="{ disabled: withdrawMoney == '' || withdrawMoney == 0 }" @click="withdraw">
提现
{{ $lang('member.withdrawal') }}
</view>
<view class="recoend" @click="toWithdrawal">
<view class="recoend-con">提现记录</view>
<view class="recoend-con">{{ $lang('member.withdrawalRecord') }}</view>
</view>
<loading-cover ref="loadingCover"></loading-cover>
</view>

View File

@@ -2,48 +2,48 @@
<view class="container" :style="themeColor">
<view class="assets-wrap">
<view class="assets-block">
<view class="assets-tips"><text>风险提示:确认申请后您的资产将被清空且不可找回!</text></view>
<view class="assets-tips"><text>{{ $lang('assets.riskTip') }}</text></view>
<view class="assets-box assets-account">
<view class="assets-title">
<text class="color-base-bg"></text>
<text>账户资产</text>
<text>{{ $lang('assets.accountAssets') }}</text>
</view>
<view class="assets-list">
<view class="assets-li">
<view>{{ member_info.point }}</view>
<view>积分</view>
<view>{{ $lang('reward.points') }}</view>
</view>
<view class="assets-li">
<view>¥{{ member_info.balance_money }}</view>
<view>现金余额</view>
<view>{{ $lang('balance.cashBalance') }}</view>
</view>
<view class="assets-li">
<view>¥{{ member_info.balance }}</view>
<view>储值余额</view>
<view>{{ $lang('balance.storeBalance') }}</view>
</view>
<view class="assets-li">
<view>{{ accountInfo.member_coupon_count }}</view>
<view>优惠券</view>
<view>{{ $lang('coupon.coupon') }}</view>
</view>
</view>
</view>
<view class="assets-box assets-order">
<view class="assets-title">
<text class="color-base-bg"></text>
<text>订单资产</text>
<text>{{ $lang('assets.orderAssets') }}</text>
</view>
<view class="assets-list">
<view class="assets-li">
<view>{{ accountInfo.order_pay_count }}</view>
<view>待发货</view>
<view>{{ $lang('order.waitShip') }}</view>
</view>
<view class="assets-li">
<view>{{ accountInfo.order_delivery_count }}</view>
<view>待收货</view>
<view>{{ $lang('order.waitReceive') }}</view>
</view>
<view class="assets-li">
<view>{{ accountInfo.order_refund_count }}</view>
<view>退款中</view>
<view>{{ $lang('order.refunding') }}</view>
</view>
</view>
</view>
@@ -51,27 +51,27 @@
<view v-if="member_info.is_fenxiao == 1" class="assets-box assets-fenxiao">
<view class="assets-title">
<text class="color-base-bg"></text>
<text>分销资产</text>
<text>{{ $lang('assets.distributionAssets') }}</text>
</view>
<view class="assets-list">
<view class="assets-li">
<view>¥{{ fenxiao_info.account }}</view>
<view>可提现佣金</view>
<view>{{ $lang('assets.withdrawableCommission') }}</view>
</view>
<view class="assets-li">
<view>¥{{ fenxiao_info.account_withdraw_apply }}</view>
<view>提现中佣金</view>
<view>{{ $lang('assets.withdrawingCommission') }}</view>
</view>
<view class="assets-li">
<view>{{ accountInfo.fenxiao_order_count }}</view>
<view>待结算订单</view>
<view>{{ $lang('assets.waitSettleOrder') }}</view>
</view>
</view>
</view>
</view>
<view class="assets-btn">
<button type="primary" @click="prev">上一步</button>
<button class="color-base-bg" @click="submit">确认申请</button>
<button type="primary" @click="prev">{{ $lang('form.prevStep') }}</button>
<button class="color-base-bg" @click="submit">{{ $lang('form.confirmApply') }}</button>
</view>
</view>
</view>

View File

@@ -8,7 +8,7 @@
<view class="navbar-wrap">
<text class="iconfont icon-back_light back" @click="$util.redirectTo($util.MEMBER_PAGE_URL)"></text>
<view class="navbar-title">
账户余额
{{ $lang('balance.accountBalance') }}
</view>
</view>
</view>
@@ -16,7 +16,7 @@
<view class="head-wrap" :style="{ background: 'url(' + $util.img('public/uniapp/balance/balance-bg.png') + ')',backgroundSize:'100% 100%' }">
<!-- <view class="head-wrap" :style="{ background: 'url(' + $util.img('public/uniapp/balance/balance-bg.png') + ') no-repeat right bottom/ auto 380rpx, linear-gradient(314deg, #FE7849 0%, #FF1959 100%)' }"> -->
<view class="title">账户余额(元)</view>
<view class="title">{{ $lang('balance.accountBalance') }}({{ $lang('form.yuan') }})</view>
<view class="balance price-font">{{ (parseFloat(balanceInfo.balance) + parseFloat(balanceInfo.balance_money)).toFixed(2) }}</view>
<!-- <view class="flex-box">
<view class="flex-item">
@@ -29,8 +29,8 @@
</view>
</view> -->
<view class="btns">
<view class="cash btn" @click="toWithdrawal">提现</view>
<view class="recharge btn" @click="toList">充值</view>
<view class="cash btn" @click="toWithdrawal">{{ $lang('member.withdrawal') }}</view>
<view class="recharge btn" @click="toList">{{ $lang('recharge.recharge') }}</view>
</view>
</view>
@@ -39,14 +39,14 @@
<view class="icon">
<text class="iconfont icon-yuemingxi"></text>
</view>
<text class="title">提现记录</text>
<text class="title">{{ $lang('member.withdrawalRecord') }}</text>
<text class="iconfont icon-right"></text>
</view>
<view class="menu-item" @click="toBalanceDetail" style="border-bottom: 0.5px solid #f2f2f2;">
<view class="icon">
<text class="iconfont icon-yuemingxi"></text>
</view>
<text class="title">余额明细</text>
<text class="title">{{ $lang('balance.balanceDetail') }}</text>
<text class="iconfont icon-right"></text>
</view>
<!-- <view class="menu-item" @click="toOrderList">

View File

@@ -43,7 +43,7 @@
</view>
</view>
</block>
<block v-else><ns-empty :isIndex="false" text="暂无余额明细"></ns-empty></block>
<block v-else><ns-empty :isIndex="false" :text="$lang('balance.noBalanceDetail')"></ns-empty></block>
<!-- 无明细列表 -->
</block>
</mescroll-uni>
@@ -62,13 +62,13 @@ export default {
return {
dataList: [],
statusList: [{
name: '全部',
name: this.$lang('form.all'),
id: '0'
}, {
name: '收入',
name: this.$lang('balance.income'),
id: '1'
}, {
name: '支出',
name: this.$lang('balance.expense'),
id: '2'
}],
scrollInto: '',
@@ -79,9 +79,9 @@ export default {
date: ''
},
balanceType: [{
label: '全部',
label: this.$lang('form.all'),
value: '0'
}], //积分类型
}], //余额类型
balanceIndex: 0,
related_id: 0
};

View File

@@ -2,11 +2,11 @@
<view class="container" :style="themeColor">
<view class="cancel-wrap">
<view class="cancel-img"><image :src="$util.img('public/uniapp/member/refuse.png')" show-menu-by-longpress></image></view>
<view class="cancel-title">您的申请已拒绝</view>
<view class="cancel-reason">拒绝理由:{{ reason }}</view>
<view class="cancel-title">{{ $lang('cancel.cancelRefused') }}</view>
<view class="cancel-reason">{{ $lang('cancel.refuseReason') }}:{{ reason }}</view>
<view class="cancel-btn">
<button type="primary" @click="toIndex">返回</button>
<button class="color-base-bg" @click="apply">重新申请</button>
<button type="primary" @click="toIndex">{{ $lang('common.back') }}</button>
<button class="color-base-bg" @click="apply">{{ $lang('cancel.reApply') }}</button>
</view>
</view>
</view>

View File

@@ -5,16 +5,16 @@
<view class="cancelstatus-box">
<view class="cancelstatus-box-sort color-base-bg">1</view>
<view class="cancelstatus-box-con">
<view class="cancelstatus-box-name">提交申请</view>
<view class="cancelstatus-box-info">您已提交申请,请耐心等待~</view>
<view class="cancelstatus-box-name">{{ $lang('cancel.submitApply') }}</view>
<view class="cancelstatus-box-info">{{ $lang('cancel.submitApplyTip') }}</view>
</view>
<view class="cancelstatus-box-line color-base-bg"></view>
</view>
<view class="cancelstatus-box">
<view class="cancelstatus-box-sort color-base-bg">2</view>
<view class="cancelstatus-box-con">
<view class="cancelstatus-box-name">等待审核</view>
<view class="cancelstatus-box-info">等待审核中,审核通过后您的账号将直接被删除</view>
<view class="cancelstatus-box-name">{{ $lang('cancel.waitAudit') }}</view>
<view class="cancelstatus-box-info">{{ $lang('cancel.waitAuditTip') }}</view>
</view>
<view class="cancelstatus-box-line color-base-bg" :class="{ 'opacity-4': state == 0 }"></view>
</view>
@@ -23,14 +23,14 @@
3
</view>
<view class="cancelstatus-box-con">
<view class="cancelstatus-box-name">审核通过,注销完成</view>
<view class="cancelstatus-box-info">您已成功注销账号,期待下一次与您相遇</view>
<view class="cancelstatus-box-name">{{ $lang('cancel.auditPass') }}</view>
<view class="cancelstatus-box-info">{{ $lang('cancel.auditPassTip') }}</view>
</view>
</view>
</view>
<view class="cancelstatus-btn" v-if="state == 0">
<button type="primary" @click="back">返回</button>
<button class="color-base-bg" @click="revoke">撤销申请</button>
<button type="primary" @click="back">{{ $lang('common.back') }}</button>
<button class="color-base-bg" @click="revoke">{{ $lang('cancel.revokeApply') }}</button>
</view>
</view>
</view>
@@ -81,9 +81,9 @@
},
revoke() {
uni.showModal({
title: '风险提示',
content: '确定要撤销申请吗?',
confirmColor: '#000000',
title: this.$lang('member.riskTip'),
content: this.$lang('cancel.confirmRevoke'),
confirmColor: '#000000',
success: res => {
if (res.confirm) {
this.$api.sendRequest({

View File

@@ -4,9 +4,9 @@
<view class="cancel-img">
<image :src="$util.img('public/uniapp/member/success.png')" show-menu-by-longpress></image>
</view>
<view class="cancel-title">您已成功注销账号</view>
<view class="cancel-reason">待下次与您更好的相遇,如需再次使用,请重新注册</view>
<view class="cancel-btn"><button class="color-base-bg" @click="success">完成</button></view>
<view class="cancel-title">{{ $lang('cancel.cancelSuccess') }}</view>
<view class="cancel-reason">{{ $lang('cancel.cancelSuccessTip') }}</view>
<view class="cancel-btn"><button class="color-base-bg" @click="success">{{ $lang('common.done') }}</button></view>
</view>
</view>
</template>

View File

@@ -30,7 +30,7 @@
</block>
<!-- 第一个列表为空时 -->
<view class="collection-empty" v-else>
<ns-empty v-if="collectionList.length == 0 && isShowEmpty" text="暂无关注的商品" subText="赶紧去逛逛, 关注心仪的商品吧"
<ns-empty v-if="collectionList.length == 0 && isShowEmpty" :text="$lang('member.noCollection')" :subText="$lang('member.noCollectionSub')"
:isIndex="Boolean(storeToken)" :emptyBtn="{ text: $lang('toGoodsCategoryPage'), url: '/pages_goods/category' }"></ns-empty>
<button type="primary" size="mini" class="button mini" v-if="!storeToken"
@click="toLogin">{{ $lang('toLogin') }}</button>

View File

@@ -2,9 +2,9 @@
<view :style="themeColor" :class="isIphoneX ? 'iphone-x' : ''">
<view class="cf-container color-line-border" v-if="storeToken">
<view class="tab">
<view @click="changeState(1)"><text :class="state == 1 ? 'color-base-text active color-base-border-bottom' : ''">未使用</text></view>
<view @click="changeState(2)"><text :class="state == 2 ? 'color-base-text active color-base-border-bottom' : ''">已使用</text></view>
<view @click="changeState(3)"><text :class="state == 3 ? 'color-base-text active color-base-border-bottom' : ''">已过期</text></view>
<view @click="changeState(1)"><text :class="state == 1 ? 'color-base-text active color-base-border-bottom' : ''">{{ $lang('coupon.unused') }}</text></view>
<view @click="changeState(2)"><text :class="state == 2 ? 'color-base-text active color-base-border-bottom' : ''">{{ $lang('coupon.used') }}</text></view>
<view @click="changeState(3)"><text :class="state == 3 ? 'color-base-text active color-base-border-bottom' : ''">{{ $lang('coupon.expired') }}</text></view>
</view>
<!-- <view class="coupon-head">
<view class="sort" :class="sort == 1 ? 'color-base-border color-base-text' : ''" @click="changeSort(1, '')">全部</view>
@@ -34,8 +34,8 @@
<text>折</text>
</view>
<view class="use_condition font-size-tag" v-if="item.at_least > 0">
满{{ item.at_least }}元可用</view>
<view class="use_condition font-size-tag" v-else>无门槛优惠券</view>
{{ $lang('form.full') }}{{ item.at_least }}{{ $lang('form.yuan') }}{{ $lang('coupon.available') }}</view>
<view class="use_condition font-size-tag" v-else>{{ $lang('coupon.noThresholdCoupon') }}</view>
</view>
</view>
<view class="item-info">
@@ -48,19 +48,19 @@
{{ item.use_store==='all'?'适用门店:全部门店': '适用门店:'+item.use_store_name}}
</view> -->
</view>
<view class="use_time" v-if="item.end_time">有效期:{{ $util.timeStampTurnTime(item.end_time) }}
<view class="use_time" v-if="item.end_time">{{ $lang('cart.validFromReceive') }}{{ $util.timeStampTurnTime(item.end_time) }}
</view>
<view class="use_time" v-else>有效期:长期有效</view>
<view class="use_time" v-else>{{ $lang('cart.longTermValid') }}</view>
</view>
<view class="item-btn">
<view class="tag" v-if="item.state == 1">去使用</view>
<view class="tag disabled" v-if="item.state == 2">已使用</view>
<view class="tag disabled" v-if="item.state == 3">已过期</view>
<view class="tag" v-if="item.state == 1">{{ $lang('coupon.useNow') }}</view>
<view class="tag disabled" v-if="item.state == 2">{{ $lang('coupon.used') }}</view>
<view class="tag disabled" v-if="item.state == 3">{{ $lang('coupon.expired') }}</view>
</view>
</view>
</view>
<view v-if="!list.length && showEmpty" class="margin-top cart-empty" :fixed="false">
<ns-empty :isIndex="true" :emptyBtn="{url: $util.INDEX_PAGE_URL,text: '去逛逛'}" text="暂无优惠券"></ns-empty>
<ns-empty :isIndex="true" :emptyBtn="{url: $util.INDEX_PAGE_URL,text: $lang('cart.browseNow')}" :text="$lang('coupon.empty')"></ns-empty>
</view>
</block>
</mescroll-uni>
@@ -88,7 +88,7 @@ export default {
setTimeout( () => {
if (!this.addonIsExist.coupon) {
this.$util.showToast({
title: '商家未开启优惠券',
title: this.$lang('coupon.notEnabled'),
mask: true,
duration: 2000
});

View File

@@ -1,7 +1,7 @@
<template>
<view class="container" :style="themeColor">
<view class="head-wrap" v-if="storeToken">
<text @click="manageFootprint">{{ manage ? '完成' : '管理' }}</text>
<text @click="manageFootprint">{{ manage ? $lang('common.done') : $lang('common.manage') }}</text>
</view>
<mescroll-uni ref="mescroll" @getData="getListData" top="110rpx">
<block slot="list">
@@ -39,14 +39,14 @@
<text class="unit">{{ $lang('common.currencySymbol') }}</text>
<text>{{ showMarketPrice(item) }}</text>
</view>
<view class="sale font-size-activity-tag color-tip" v-if="item.sale_show">已售{{ item.sale_num }}{{ item.unit ? item.unit : '件' }}</view>
<view class="sale font-size-activity-tag color-tip" v-if="item.sale_show">{{ $lang('goods.sold') }}{{ item.sale_num }}{{ item.unit ? item.unit : $lang('sku.unit') }}</view>
</view>
</view>
</view>
</view>
</view>
<view class="footprint-empty" v-else>
<ns-empty text="暂无浏览过的商品" subText="赶紧去逛逛, 发现更多商品吧" :isIndex="Boolean(storeToken)" :emptyBtn="{ text: $lang('toGoodsCategoryPage'), url: '/pages_goods/category' }"></ns-empty>
<ns-empty :text="$lang('footprint.empty')" :subText="$lang('footprint.emptySub')" :isIndex="Boolean(storeToken)" :emptyBtn="{ text: $lang('toGoodsCategoryPage'), url: '/pages_goods/category' }"></ns-empty>
<button type="primary" size="mini" class="button mini" v-if="!storeToken"
@click="toLogin">{{ $lang('toLogin') }}</button>
</view>
@@ -54,9 +54,9 @@
<view class="bottom-wrap" v-if="goodsList.length && manage">
<view class="all-election" @click="allElection">
<view class="iconfont" :class="isAll ? 'icon-yuan_checked color-base-text' : 'icon-yuan_checkbox'"></view>
<text>全选</text>
<text>{{ $lang('common.selectAll') }}</text>
</view>
<view class="action-btn"><button type="primary" @click="deleteFootprint()" class="delete" :class="{ disabled: selected }">删除</button></view>
<view class="action-btn"><button type="primary" @click="deleteFootprint()" class="delete" :class="{ disabled: selected }">{{ $lang('common.delete') }}</button></view>
</view>
</block>
</mescroll-uni>

View File

@@ -58,7 +58,7 @@
<view v-if="showTip" class="collectPopupWindow"
:style="{ marginTop: (collectTop + statusBarHeight) * 2 + 'rpx' }">
<image :src="$util.img('public/uniapp/index/collect2.png')" mode="aspectFit" show-menu-by-longpress/>
<text @click="closeCollectPopupWindow">我知道了</text>
<text @click="closeCollectPopupWindow">{{ $lang('member.iknow') }}</text>
</view>
</uni-popup>

View File

@@ -3,7 +3,7 @@
<view v-if="indent == 'all' && memberInfo" class="info-wrap">
<!-- 头像@click="headImage" -->
<view class="info-list-cell info-item info-list-con" hover-class="cell-hover">
<text class="cell-tit">头像</text>
<text class="cell-tit">{{ $lang('member.avatar') }}</text>
<view class="info-list-head cell-tip">
<image :src="memberInfo.headimg ? $util.img(memberInfo.headimg) : $util.getDefaultImage().head" @error="memberInfo.headimg = $util.getDefaultImage().head" mode="aspectFill" show-menu-by-longpress/>
</view>
@@ -22,61 +22,61 @@
</view> -->
<!-- 昵称 -->
<view class="info-list-cell info-list-con" hover-class="cell-hover" @click="modifyInfo('name')">
<text class="cell-tit">昵称</text>
<text class="cell-tit">{{ $lang('member.nickname') }}</text>
<text class="cell-tip">{{ memberInfoformData.nickName }}</text>
<text class="cell-more"></text>
</view>
<!-- 真实姓名 -->
<view class="info-list-cell info-list-con" hover-class="cell-hover" @click="modifyInfo('realName')">
<text class="cell-tit">姓名</text>
<text class="cell-tit">{{ $lang('member.realName') }}</text>
<text class="cell-tip">{{ memberInfoformData.realName }}</text>
<text class="cell-more"></text>
</view>
<!-- 性别 -->
<view class="info-list-cell info-list-con" hover-class="cell-hover" @click="modifyInfo('sex')">
<text class="cell-tit">性别</text>
<text class="cell-tit">{{ $lang('member.sex') }}</text>
<text class="cell-tip">{{ memberInfoformData.sex }}</text>
<text class="cell-more"></text>
</view>
<!-- 生日 -->
<view class="info-list-cell info-list-con" hover-class="cell-hover" @click="modifyInfo('birthday')">
<text class="cell-tit">生日</text>
<text class="cell-tit">{{ $lang('member.birthday') }}</text>
<text class="cell-tip">{{ memberInfoformData.birthday }}</text>
<text class="cell-more"></text>
</view>
<!-- 手机号 -->
<view class="info-list-cell info-list-con" @click="modifyInfo('mobile')">
<text class="cell-tit">手机号</text>
<text v-if="memberInfoformData.user_tel == ''" class="cell-tip">密码</text>
<text class="cell-tit">{{ $lang('member.mobile') }}</text>
<text v-if="memberInfoformData.user_tel == ''" class="cell-tip">{{ $lang('member.password') }}</text>
<text v-else class="cell-tip">{{ memberInfoformData.mobile }}</text>
<text class="cell-more"></text>
</view>
<!-- 密码 -->
<!-- <view class="info-list-cell info-list-con" hover-class="cell-hover" @click="modifyInfo('password')">
<text class="cell-tit">密码</text>
<text class="cell-tit">{{ $lang('member.password') }}</text>
<text class="cell-more"></text>
</view> -->
<!-- 支付密码 -->
<!-- <view class="info-list-cell info-list-con" hover-class="cell-hover" @click="modifyInfo('paypassword')">
<text class="cell-tit">{{ $lang('paypassword') }}</text>
<text class="cell-tit">{{ $lang('member.payPassword') }}</text>
<text class="cell-more"></text>
</view> -->
<!-- <view class="info-list-cell info-list-con" hover-class="cell-hover" @click="modifyInfo('address')">
<text class="cell-tit">所在地址</text>
<text class="cell-tit">{{ $lang('member.address') }}</text>
<text class="cell-tip" v-if="memberInfo.full_address">{{ memberInfo.full_address }}
{{ memberInfo.address }}</text>
<text class="cell-tip" v-else>去设置</text>
<text class="cell-tip" v-else>{{ $lang('member.toSet') }}</text>
<text class="cell-more"></text>
</view> -->
<!-- 注销 -->
<view class="info-list-cell info-list-con" hover-class="cell-hover" @click="cancellation()">
<text class="cell-tit">注销账号</text>
<text class="cell-tit">{{ $lang('member.cancelAccount') }}</text>
<text class="cell-more"></text>
</view>
<!-- <view class="info-list-cell info-list-con" hover-class="cell-hover" @click="cancellation()" v-if="addonIsExist.membercancel && memberConfig.is_enable == 1">
<text class="cell-tit">注销账号</text>
<text class="cell-tit">{{ $lang('member.cancelAccount') }}</text>
<text class="cell-more"></text>
</view> -->
<!-- <view class="info-list-cell info-list-con" hover-class="cell-hover">
@@ -98,7 +98,7 @@
<!-- #endif -->
<view class="save-item" @click="logout">
<button type="primary">退出登录</button>
<button type="primary">{{ $lang('member.logout') }}</button>
</view>
</view>

View File

@@ -4,38 +4,38 @@
<!-- 修改用户名 -->
<view v-if="indent == 'username'" class="edit-info">
<view class="edit-info-box">
<text class="info-name">用户名</text>
<input class="uni-input info-content input-len" type="text" maxlength="30" placeholder="请输入" v-model="formData.username" />
<text class="info-name">{{ $lang('member.username') }}</text>
<input class="uni-input info-content input-len" type="text" maxlength="30" :placeholder="$lang('form.inputPlaceholder')" v-model="formData.username" />
</view>
<view class="color-tip font-size-goods-tag set-pass-tips">用户名仅可修改一次,请谨慎设置</view>
<view class="color-tip font-size-goods-tag set-pass-tips">{{ $lang('member.usernameTip') }}</view>
<view class="save-item" @click="save('username')">
<button type="primary">保存</button>
<button type="primary">{{ $lang('form.save') }}</button>
</view>
</view>
<!-- 修改昵称 -->
<view v-if="indent == 'name'" class="edit-info">
<view class="edit-info-box">
<text class="info-name">昵称</text>
<input class="uni-input info-content input-len" type="text" maxlength="30" placeholder="请输入" v-model="formData.nickName" />
<text class="info-name">{{ $lang('member.nickname') }}</text>
<input class="uni-input info-content input-len" type="text" maxlength="30" :placeholder="$lang('form.inputPlaceholder')" v-model="formData.nickName" />
</view>
<view class="save-item" @click="save('name')">
<button type="primary">保存</button>
<button type="primary">{{ $lang('form.save') }}</button>
</view>
</view>
<!-- 修改真实姓名 -->
<view v-if="indent == 'realName'" class="edit-info">
<view class="edit-info-box">
<text class="info-name">姓名</text>
<input class="uni-input info-content input-len" type="text" maxlength="30" placeholder="请输入" v-model="formData.realName" />
<text class="info-name">{{ $lang('member.realName') }}</text>
<input class="uni-input info-content input-len" type="text" maxlength="30" :placeholder="$lang('form.inputPlaceholder')" v-model="formData.realName" />
</view>
<view class="save-item" @click="save('realName')">
<button type="primary">保存</button>
<button type="primary">{{ $lang('form.save') }}</button>
</view>
</view>
<!-- 修改性别 -->
<view v-if="indent == 'sex'" class="edit-info">
<view class="edit-info-box">
<text class="info-name">性别</text>
<text class="info-name">{{ $lang('member.sex') }}</text>
<radio-group @change="radioChange" class="edit-sex-list">
<label class="uni-list-cell uni-list-cell-pd" v-for="(item, index) in items" :key="item.value">
<view>
@@ -46,19 +46,19 @@
</radio-group>
</view>
<view class="save-item" @click="save('sex')">
<button type="primary">保存</button>
<button type="primary">{{ $lang('form.save') }}</button>
</view>
</view>
<!-- 修改生日 -->
<view v-if="indent == 'birthday'" class="edit-info edit-birthday-list">
<view class="edit-info-box">
<text class="info-name">生日</text>
<text class="info-name">{{ $lang('member.birthday') }}</text>
<picker mode="date" :value="formData.birthday" :start="startDate" :end="endDate" @change="bindDateChange">
<view class="uni-input">{{ formData.birthday ? formData.birthday : '请选择生日' }}</view>
<view class="uni-input">{{ formData.birthday ? formData.birthday : $lang('form.selectDate') }}</view>
</picker>
</view>
<view class="save-item" @click="save('birthday')">
<button type="primary">保存</button>
<button type="primary">{{ $lang('form.save') }}</button>
</view>
</view>
<!-- 修改密码 -->
@@ -68,87 +68,87 @@
<view class="empty_img">
<image :src="$util.img('public/uniapp/common/common-empty.png')" mode="aspectFit" show-menu-by-longpress></image>
</view>
<view class="color-tip margin-top margin-bottom">请先绑定手机再执行该操作</view>
<button type="primary" size="mini" class="mini button color-base-bg" @click="modifyInfo('mobile')">立即绑定</button>
<view class="color-tip margin-top margin-bottom">{{ $lang('member.bindMobileTip') }}</view>
<button type="primary" size="mini" class="mini button color-base-bg" @click="modifyInfo('mobile')">{{ $lang('member.bindNow') }}</button>
</view>
</block>
<block v-else>
<view class="edit-info-box" v-if="memberInfo.password">
<text class="info-name">原密码</text>
<input class="uni-input info-content input-len" type="password" maxlength="30" placeholder="请输入" v-model="formData.currentPassword" />
<text class="info-name">{{ $lang('member.oldPassword') }}</text>
<input class="uni-input info-content input-len" type="password" maxlength="30" :placeholder="$lang('form.inputPlaceholder')" v-model="formData.currentPassword" />
</view>
<block v-else>
<view class="edit-info-box">
<text class="info-name">新密码</text>
<input class="uni-input info-content" type="number" maxlength="4" placeholder="请输入" v-model="formData.mobileVercode" />
<text class="info-name">{{ $lang('member.newPassword') }}</text>
<input class="uni-input info-content" type="number" maxlength="4" :placeholder="$lang('form.inputPlaceholder')" v-model="formData.mobileVercode" />
<image :src="captcha.img" class="captcha" @click="getCaptcha" show-menu-by-longpress></image>
</view>
<view class="edit-info-box">
<text class="info-name">再次输入</text>
<input class="uni-input info-content" type="number" maxlength="6" placeholder="请输入" v-model="formData.mobileDynacode" />
<text class="info-name">{{ $lang('member.confirmPassword') }}</text>
<input class="uni-input info-content" type="number" maxlength="6" :placeholder="$lang('form.inputPlaceholder')" v-model="formData.mobileDynacode" />
<button type="primary" class="dynacode" @click="passwordMoblieCode()">{{ formData.mobileCodeText }}</button>
</view>
<view class="color-tip font-size-goods-tag set-pass-tips">
点击“获取动态码”,将会向您已绑定的手机号{{ memberInfoformData.mobile | mobile }}发送验证码</view>
{{ $lang('member.getDynamicCodeTip') }}{{ memberInfoformData.mobile | mobile }}{{ $lang('member.sendVerificationCode') }}</view>
</block>
<view class="edit-info-box">
<text class="info-name">新密码</text>
<input class="uni-input info-content input-len" type="password" maxlength="30" placeholder="请输入" v-model="formData.newPassword" />
<text class="info-name">{{ $lang('member.newPassword') }}</text>
<input class="uni-input info-content input-len" type="password" maxlength="30" :placeholder="$lang('form.inputPlaceholder')" v-model="formData.newPassword" />
</view>
<view class="edit-info-box">
<text class="info-name">再次输入</text>
<input class="uni-input info-content input-len" type="password" maxlength="30" placeholder="请输入" v-model="formData.confirmPassword" />
<text class="info-name">{{ $lang('member.confirmPassword') }}</text>
<input class="uni-input info-content input-len" type="password" maxlength="30" :placeholder="$lang('form.inputPlaceholder')" v-model="formData.confirmPassword" />
</view>
<view class="save-item" @click="save('password')">
<button type="primary">保存</button>
<button type="primary">{{ $lang('form.save') }}</button>
</view>
</block>
</view>
<!-- 修改手机号 -->
<view v-if="indent == 'mobile'" class="edit-info">
<view class="edit-info-box">
<text class="info-name">手机号</text>
<input class="uni-input info-content" type="number" maxlength="11" placeholder="请输入" v-model="formData.mobile" />
<text class="info-name">{{ $lang('member.mobile') }}</text>
<input class="uni-input info-content" type="number" maxlength="11" :placeholder="$lang('form.inputPlaceholder')" v-model="formData.mobile" />
</view>
<view class="edit-info-box">
<text class="info-name">验证码</text>
<input class="uni-input info-content" type="number" maxlength="4" placeholder="请输入" v-model="formData.mobileVercode" />
<text class="info-name">{{ $lang('member.verificationCode') }}</text>
<input class="uni-input info-content" type="number" maxlength="4" :placeholder="$lang('form.inputPlaceholder')" v-model="formData.mobileVercode" />
<image :src="captcha.img" class="captcha" @click="getCaptcha" show-menu-by-longpress></image>
</view>
<view class="edit-info-box">
<text class="info-name">短信验证码</text>
<input class="uni-input info-content" type="number" maxlength="6" placeholder="请输入" v-model="formData.mobileDynacode" />
<text class="info-name">{{ $lang('member.smsVerificationCode') }}</text>
<input class="uni-input info-content" type="number" maxlength="6" :placeholder="$lang('form.inputPlaceholder')" v-model="formData.mobileDynacode" />
<button type="primary" class="dynacode" @click="bindMoblieCode()">{{ formData.mobileCodeText }}</button>
</view>
<view class="save-item" @click="save('mobile')">
<button type="primary">保存</button>
<button type="primary">{{ $lang('form.save') }}</button>
</view>
</view>
<!-- 绑定手机号 -->
<view v-if="indent == 'bind_mobile'" class="edit-info">
<view class="save-item bind-mobile">
<button type="primary" open-type="getPhoneNumber" @getphonenumber="mobileAuth">一键授权绑定</button>
<button type="primary" open-type="getPhoneNumber" @getphonenumber="mobileAuth">{{ $lang('member.oneClickAuth') }}</button>
</view>
<view class="save-item bind-mobile">
<button type="primary" @click="manualBinding">手动绑定</button>
<button type="primary" @click="manualBinding">{{ $lang('member.manualBind') }}</button>
</view>
</view>
<view v-if="indent == 'address'" class="edit-info">
<view class="edit-info-box">
<text class="info-name">所在地区</text>
<text class="info-name">{{ $lang('member.region') }}</text>
<pick-regions :default-regions="defaultRegions" select-arr="3" @getRegions="handleGetRegions">
<text class="select-address " :class="{'color-tip': !formData.fullAddress }">
{{ formData.fullAddress ? formData.fullAddress : '请选择省市区县' }}
{{ formData.fullAddress ? formData.fullAddress : $lang('member.selectRegion') }}
</text>
</pick-regions>
</view>
<view class="edit-info-box">
<text class="info-name">详细地址</text>
<input class="uni-input info-content" type="text" placeholder="详细地址" v-model="formData.address" />
<text class="info-name">{{ $lang('member.addressDetail') }}</text>
<input class="uni-input info-content" type="text" :placeholder="$lang('member.addressDetail')" v-model="formData.address" />
</view>
<view class="save-item" @click="save('address')">
<button type="primary">保存</button>
<button type="primary">{{ $lang('form.save') }}</button>
</view>
</view>
</template>

View File

@@ -9,11 +9,11 @@
<image :src="$util.getDefaultImage().head" v-else mode="aspectFill" show-menu-by-longpress></image>
<view class="member-desc">
<view class="font-size-base">{{ memberInfo.nickname }}</view>
<view class="font-size-activity-tag">当前等级:{{ memberInfo.member_level_name }}</view>
<view class="font-size-activity-tag">{{ $lang('level.currentLevel') }}:{{ memberInfo.member_level_name }}</view>
</view>
<view class="growth-rules font-size-tag" @click="growthRules">
<text class="iconfont icon-wenhao font-size-tag"></text>
成长规则
{{ $lang('level.growthRules') }}
</view>
</view>
<swiper :style="{ width: '100vw', height: '390rpx' }" class="margin-bottom"
@@ -54,28 +54,30 @@
<view class="info">
<view class="level-detail" :style="{color:levelList[curIndex]['level_text_color']}">
{{ levelList[curIndex].level_name }}
<text class="isnow " :style="{color:levelList[curIndex]['level_text_color']}" v-if="levelId == item.level_id">当前等级</text>
<text class="isnow " :style="{color:levelList[curIndex]['level_text_color']}" v-if="levelId == item.level_id">{{ $lang('level.currentLevel') }}</text>
</view>
<view class="growr-name" :style="{color:levelList[curIndex]['level_text_color']}">当前成长值</view>
<view class="growr-name" :style="{color:levelList[curIndex]['level_text_color']}">{{ $lang('level.currentGrowth') }}</view>
<view class="growr-value" :style="{color:levelList[curIndex]['level_text_color']}">{{ growth }}</view>
<block v-if="levelId == item.level_id">
<block v-if="levelList[curIndex + 1] != undefined">
<ns-progress :progress="levelList[curIndex + 1].rate"></ns-progress>
<view class="residue-growr-value"
:style="{color:levelList[curIndex]['level_text_color']}">
再获得{{ levelList[curIndex + 1].needGrowth > 0 ? levelList[curIndex + 1].needGrowth : 0 }}成长值成为{{
{{ $lang('level.getMoreGrowth') }}{{
levelList[curIndex + 1].needGrowth > 0 ? levelList[curIndex + 1].needGrowth : 0
}}{{ $lang('level.growthToBecome') }}{{
levelList[curIndex + 1].level_name
}}
</view>
</block>
<block v-else>
<view class="residue-growr-value" :style="{color:levelList[curIndex]['level_text_color']}">您现在已经是最高等级</view>
<view class="residue-growr-value" :style="{color:levelList[curIndex]['level_text_color']}">{{ $lang('level.maxLevel') }}</view>
</block>
</block>
<block v-else>
<ns-progress :progress="levelList[curIndex].rate" v-if="levelList[curIndex].needGrowth > 0"></ns-progress>
<view class="residue-growr-value" v-if="levelList[curIndex].needGrowth > 0" :style="{color:levelList[curIndex]['level_text_color']}">
再获得{{ levelList[curIndex].needGrowth }}成长值成为{{ levelList[curIndex].level_name }}
{{ $lang('level.getMoreGrowth') }}{{ levelList[curIndex].needGrowth }}{{ $lang('level.growthToBecome') }}{{ levelList[curIndex].level_name }}
</view>
</block>
</view>
@@ -84,52 +86,52 @@
</swiper-item>
</swiper>
<view class="member-equity" v-if="levelList[curIndex].is_free_shipping > 0 || levelList[curIndex].consume_discount > 0 || levelList[curIndex].point_feedback > 0">
<view class="equity-title">会员权益</view>
<view class="equity-title">{{ $lang('level.memberBenefits') }}</view>
<view class="equity-itme" v-if="levelList[curIndex].is_free_shipping > 0">
<image :src="$util.img('public/uniapp/level/exemption_postage.png')" mode="aspectFit" show-menu-by-longpress></image>
<view class="equity-content" :class="{ active: levelList[curIndex].consume_discount > 0 }">
<text>包邮服务</text>
<text class="equity-desc">提供商品包邮服务</text>
<text>{{ $lang('level.freeShipping') }}</text>
<text class="equity-desc">{{ $lang('level.freeShippingDesc') }}</text>
</view>
</view>
<view class="equity-itme" v-if="levelList[curIndex].consume_discount > 0">
<image :src="$util.img('public/uniapp/level/consumption_discount.png')" mode="aspectFit" show-menu-by-longpress></image>
<view class="equity-content" :class="{ active: levelList[curIndex].point_feedback > 0 }">
<text>享受消费折扣服务</text>
<text class="equity-desc" v-if="levelList[curIndex].is_default == 1">不享受任何消费折扣和其他权益</text>
<text class="equity-desc" v-else>提供{{ levelList[curIndex].consume_discount }}折消费折扣</text>
<text>{{ $lang('level.consumeDiscount') }}</text>
<text class="equity-desc" v-if="levelList[curIndex].is_default == 1">{{ $lang('level.noDiscount') }}</text>
<text class="equity-desc" v-else>{{ $lang('level.consumeDiscountDesc') }}{{ levelList[curIndex].consume_discount }}{{ $lang('level.discount') }}</text>
</view>
</view>
<view class="equity-itme" v-if="levelList[curIndex].point_feedback > 0">
<image :src="$util.img('public/uniapp/level/integral_feedback.png')" mode="aspectFit" show-menu-by-longpress></image>
<view class="equity-content">
<text>享受积分回馈服务</text>
<text class="equity-desc">提供{{ levelList[curIndex].point_feedback }}倍积分回馈倍率</text>
<text>{{ $lang('level.pointFeedback') }}</text>
<text class="equity-desc">{{ $lang('level.pointFeedbackDesc') }}{{ levelList[curIndex].point_feedback }}{{ $lang('level.pointMultiplier') }}</text>
</view>
</view>
</view>
<view class="member-gift" v-if="levelList[curIndex].send_balance > 0 || levelList[curIndex].send_balance > 0 || levelList[curIndex].send_coupon">
<view class="gift-title">会员礼包</view>
<view class="gift-title">{{ $lang('level.memberGift') }}</view>
<view class="gift-itme" v-if="levelList[curIndex].send_point > 0">
<image :src="$util.img('public/uniapp/level/integral.png')" mode="aspectFit" show-menu-by-longpress></image>
<view class="gift-content" :class="{ active: levelList[curIndex].send_balance > 0 }">
<text>积分礼包</text>
<text class="gift-desc">赠送{{ levelList[curIndex].send_point }}积分</text>
<text>{{ $lang('level.pointGift') }}</text>
<text class="gift-desc">{{ $lang('level.giftPoint') }}{{ levelList[curIndex].send_point }}{{ $lang('reward.points') }}</text>
</view>
</view>
<view class="gift-itme" v-if="levelList[curIndex].send_balance > 0">
<image :src="$util.img('public/uniapp/level/red_packet.png')" mode="aspectFit" show-menu-by-longpress></image>
<view class="gift-content" :class="{ active: levelList[curIndex].send_coupon }">
<text>红包礼包</text>
<text class="gift-desc">赠送{{ levelList[curIndex].send_balance }}元红包</text>
<text>{{ $lang('level.redPacketGift') }}</text>
<text class="gift-desc">{{ $lang('level.giftBalance') }}{{ levelList[curIndex].send_balance }}{{ $lang('form.yuan') }}{{ $lang('level.redPacket') }}</text>
</view>
</view>
<view class="gift-itme" v-if="levelList[curIndex].send_coupon" @click="openCoupon(levelList[curIndex].send_coupon)">
<image :src="$util.img('public/uniapp/level/coupon.png')" mode="aspectFit" show-menu-by-longpress></image>
<view class="gift-content">
<text>优惠券礼包</text>
<text class="gift-desc">赠送{{ levelList[curIndex].coupon_length }}张优惠券</text>
<text>{{ $lang('level.couponGift') }}</text>
<text class="gift-desc">{{ $lang('level.giftCoupon') }}{{ levelList[curIndex].coupon_length }}{{ $lang('pay.couponCount') }}</text>
</view>
</view>
</view>

View File

@@ -3,13 +3,13 @@
<view class="grow-explain">
<view class="explain-title">
<image :src="$util.img('public/uniapp/level/growth_that_left.png')" mode="aspectFit" show-menu-by-longpress></image>
成长值说明
{{ $lang('level.growthValueDesc') }}
<image :src="$util.img('public/uniapp/level/growth_that_right.png')" mode="aspectFit" show-menu-by-longpress></image>
</view>
<view class="explain-table">
<view class="explain-tr">
<text class="explain-th">等级</text>
<text class="explain-th">成长值</text>
<text class="explain-th">{{ $lang('level.memberLevel') }}</text>
<text class="explain-th">{{ $lang('level.growthValue') }}</text>
</view>
<view class="explain-tr" v-for="(item, index) in levelList" :key="index">
<text class="explain-td">{{ item.level_name }}</text>
@@ -20,20 +20,20 @@
<view class="grow-value">
<view class="title">
<image :src="$util.img('public/uniapp/level/explain.png')" mode="aspectFit" show-menu-by-longpress></image>
<text>什么是成长值</text>
<text>{{ $lang('level.whatIsGrowth') }}</text>
</view>
<view class="content color-tip">成长值是消费者在店铺成为会员后,通过消费计算出来的值。成长值决定会员等级,会员等级越高,所享受的会员权益和会员礼包就越多。</view>
<view class="content color-tip">{{ $lang('level.growthDesc') }}</view>
</view>
<view class="acquisition-grow">
<view class="title">
<image :src="$util.img('public/uniapp/level/explain.png')" mode="aspectFit" show-menu-by-longpress></image>
<text>如何获得成长值</text>
<text>{{ $lang('level.howToGetGrowth') }}</text>
</view>
<view class="content color-tip">
<text>1、注册会员送x成长值。</text>
<text>2、会员充值到余额送x成长值。</text>
<text>3、会员签到送x成长值。</text>
<text>4、会员消费x元,交易完成即可获得x个成长值。</text>
<text>{{ $lang('level.growthRule1') }}</text>
<text>{{ $lang('level.growthRule2') }}</text>
<text>{{ $lang('level.growthRule3') }}</text>
<text>{{ $lang('level.growthRule4') }}</text>
</view>
</view>

View File

@@ -1,16 +1,16 @@
<template>
<view :style="themeColor" class="container">
<view class="tips" v-if="step != 0">请输入6位支付密码,建议不要使用重复或连续数字</view>
<view class="tips" v-else>验证码已发送至{{ memberInfo.mobile | mobile }}请在下方输入4位数字验证码</view>
<view class="tips" v-if="step != 0">{{ $lang('member.payPasswordTip') }}</view>
<view class="tips" v-else>{{ $lang('member.verificationCodeSent') }}{{ memberInfo.mobile | mobile }}{{ $lang('member.inputVerificationCode') }}</view>
<view class="password-wrap">
<myp-one :maxlength="step == 0 ? 4 : 6" :is-pwd="step != 0" @input="input" ref="input" :auto-focus="true"></myp-one>
<view v-show="step == 0" class="dynacode" :class="dynacodeData.seconds == 120 ? 'color-base-text' : 'color-tip'" @click="sendMobileCode">
{{ dynacodeData.codeText }}
</view>
<view class="action-tips" v-show="step == 0">输入短信验证码</view>
<view class="action-tips" v-show="step == 1">请设置支付密码</view>
<view class="action-tips" v-show="step == 2">请再次输入</view>
<view class="btn color-base-bg color-base-border" :class="{ disabled: !isClick }" @click="confirm">确认</view>
<view class="action-tips" v-show="step == 0">{{ $lang('member.inputSmsCode') }}</view>
<view class="action-tips" v-show="step == 1">{{ $lang('member.setPayPassword') }}</view>
<view class="action-tips" v-show="step == 2">{{ $lang('member.inputAgain') }}</view>
<view class="btn color-base-bg color-base-border" :class="{ disabled: !isClick }" @click="confirm">{{ $lang('common.confirm') }}</view>
</view>
</view>
</template>
@@ -34,7 +34,7 @@
dynacodeData: {
seconds: 120,
timer: null,
codeText: '获取验证码',
codeText: this.$lang('member.getVerificationCode'),
isSend: false
}
};
@@ -48,8 +48,8 @@
} else {
if (this.memberInfo.mobile == '') {
uni.showModal({
title: '提示',
content: '设置支付密码需要先绑定手机号,是否立即绑定?',
title: this.$lang('form.tip'),
content: this.$lang('member.bindMobileForPayPwd'),
success: res => {
if (res.confirm) {
this.$util.redirectTo('/pages_tool/member/info', {
@@ -132,7 +132,7 @@
success: res => {
if (res.code >= 0) {
this.$util.showToast({
title: '修改成功'
title: this.$lang('member.modifySuccess')
});
setTimeout(() => {
if (this.back) this.$util.redirectTo(this.back, {},
@@ -149,7 +149,7 @@
});
} else {
this.$util.showToast({
title: '两次输入的密码不一致',
title: this.$lang('member.twoPasswordNotMatch'),
success: res => {
this.initInfo();
}
@@ -185,7 +185,7 @@
if (this.dynacodeData.seconds == 120 && this.dynacodeData.timer == null) {
this.dynacodeData.timer = setInterval(() => {
this.dynacodeData.seconds--;
this.dynacodeData.codeText = this.dynacodeData.seconds + 's后可重新获取';
this.dynacodeData.codeText = this.dynacodeData.seconds + this.$lang('member.secondsRetry');
}, 1000);
}
} else {
@@ -216,7 +216,7 @@
this.dynacodeData = {
seconds: 120,
timer: null,
codeText: '获取动态码',
codeText: this.$lang('member.getDynamicCode'),
isSend: false
};
}

View File

@@ -9,7 +9,7 @@
<view class="navbar-wrap">
<text class="iconfont icon-back_light back" @click="$util.redirectTo($util.MEMBER_PAGE_URL)"></text>
<view class="navbar-title">
我的积分
{{ $lang('member.point') }}
</view>
</view>
</view>
@@ -17,19 +17,19 @@
<view class="head-wrap" :style="{ background: 'url(' + $util.img('public/uniapp/point/point_bg.png') + ') no-repeat right bottom/ auto 340rpx, linear-gradient(314deg, #F16914 0%, #FEAA4C 100%)' }">
<view class="point price-font">{{ pointInfo.point }}</view>
<view class="title">当前积分</view>
<view class="title">{{ $lang('point.currentPoint') }}</view>
<view class="flex-box">
<view class="flex-item">
<view class="num price-font">{{ pointInfo.totalPoint }}</view>
<view class="font-size-tag">累计积分</view>
<view class="font-size-tag">{{ $lang('point.totalPoint') }}</view>
</view>
<view class="flex-item">
<view class="num price-font">{{ pointInfo.totalConsumePoint }}</view>
<view class="font-size-tag">累计消费</view>
<view class="font-size-tag">{{ $lang('point.totalConsume') }}</view>
</view>
<view class="flex-item">
<view class="num price-font">{{ pointInfo.todayPoint }}</view>
<view class="font-size-tag">今日获得</view>
<view class="font-size-tag">{{ $lang('point.todayEarn') }}</view>
</view>
</view>
</view>
@@ -39,13 +39,13 @@
<view class="icon">
<image :src="$util.img('public/uniapp/point/point_detail_icon.png')" mode="widthFix"></image>
</view>
<text class="title">积分明细</text>
<text class="title">{{ $lang('point.pointDetail') }}</text>
</view>
<view class="menu-item" @click="$util.redirectTo('/pages_promotion/point/list')">
<view class="icon">
<image :src="$util.img('public/uniapp/point/point_shop.png')" mode="widthFix" show-menu-by-longpress></image>
</view>
<text class="title">积分商城</text>
<text class="title">{{ $lang('point.pointMall') }}</text>
</view>
</view>
<!--

View File

@@ -63,7 +63,7 @@ export default {
},
pointType: [
{
label: '全部',
label: this.$lang('form.all'),
value: '0'
}
], //积分类型

View File

@@ -21,7 +21,7 @@
</view>
</block>
<block v-else>
<ns-empty :isIndex="false" text="暂无提现记录"></ns-empty>
<ns-empty :isIndex="false" :text="$lang('member.noWithdrawalRecord')"></ns-empty>
</block>
</view>
</mescroll-uni>

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('member.currentStatus') }}</text>
<text class="value">{{ detail.status_name }}</text>
</view>
<view class="line-wrap">
<text class="label">交易号</text>
<text class="label">{{ $lang('member.transactionNo') }}</text>
<text class="value">{{ detail.withdraw_no }}</text>
</view>
<view class="line-wrap">
<text class="label">手续费</text>
<text class="label">{{ $lang('member.serviceFee') }}</text>
<text class="value">¥{{ detail.service_money }}</text>
</view>
<view class="line-wrap">
<text class="label">申请时间</text>
<text class="label">{{ $lang('member.applyTime') }}</text>
<text class="value">{{ $util.timeStampTurnTime(detail.apply_time) }}</text>
</view>
<view class="line-wrap" v-if="detail.status">
<text class="label">审核时间</text>
<text class="label">{{ $lang('member.auditTime') }}</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('member.bankName') }}</text>
<text class="value">{{ detail.bank_name }}</text>
</view>
<view class="line-wrap">
<text class="label">收款账号</text>
<text class="label">{{ $lang('member.accountNumber') }}</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('member.rejectReason') }}</text>
<text class="value">{{ detail.refuse_reason }}</text>
</view>
<view class="line-wrap" v-if="detail.status == 2">
<text class="label">转账方式名称</text>
<text class="label">{{ $lang('member.transferTypeName') }}</text>
<text class="value">{{ detail.transfer_type_name }}</text>
</view>
<view class="line-wrap" v-if="detail.status == 2">
<text class="label">转账时间</text>
<text class="label">{{ $lang('member.transferTime') }}</text>
<text class="value">{{ $util.timeStampTurnTime(detail.payment_time) }}</text>
</view>
</view>

View File

@@ -13,7 +13,7 @@
</view>
<view class="eval-star" v-if="!isEvaluate">
<view class="star-box">
<view class="star-title color-base-bg-before">描述相符</view>
<view class="star-title color-base-bg-before">{{ $lang('evaluate.matchDescription') }}</view>
<view class="rate-box"><sx-rate :value="goodsEvalList[index].scores" :index="index"
@change="setStar" /></view>
<view class="grade-li">
@@ -26,11 +26,11 @@
: ''
"></view>
<view class="font-size-tag color-base-text"
v-if="goodsEvalList[index].explain_type == '1'">好评</view>
v-if="goodsEvalList[index].explain_type == '1'">{{ $lang('evaluate.good') }}</view>
<view class="font-size-tag color-base-text"
v-if="goodsEvalList[index].explain_type == '2'">中评</view>
v-if="goodsEvalList[index].explain_type == '2'">{{ $lang('evaluate.medium') }}</view>
<view class="font-size-tag color-base-text"
v-if="goodsEvalList[index].explain_type == '3'">差评</view>
v-if="goodsEvalList[index].explain_type == '3'">{{ $lang('evaluate.bad') }}</view>
</view>
</view>
</view>
@@ -39,12 +39,12 @@
<view class="eval-text">
<view class="text-box">
<block v-if="!isEvaluate">
<textarea placeholder="请在此处输入您的评价" v-model="goodsEvalList[index].content"
<textarea :placeholder="$lang('evaluate.inputPlaceholder')" v-model="goodsEvalList[index].content"
maxlength="200" />
<text class="maxSize">{{ goodsEvalList[index].content.length }}/200</text>
</block>
<block v-else>
<textarea placeholder="请在此处输入您的追评" v-model="goodsEvalList[index].again_content"
<textarea :placeholder="$lang('evaluate.additionalInputPlaceholder')" v-model="goodsEvalList[index].again_content"
maxlength="200" />
<text class="maxSize">{{ goodsEvalList[index].again_content.length }}/200</text>
</block>
@@ -69,9 +69,9 @@
<view class="all-election" @click="isAll()" v-if="!isEvaluate">
<view class="iconfont color-base-text"
:class="isAnonymous ? 'icon-yuan_checked color-base-text' : 'icon-yuan_checkbox'"></view>
<text>匿名</text>
<text>{{ $lang('evaluate.anonymous') }}</text>
</view>
<view class="action-btn"><button type="primary" @click="save()">提交</button></view>
<view class="action-btn"><button type="primary" @click="save()">{{ $lang('evaluate.submit') }}</button></view>
</view>
<loading-cover ref="loadingCover"></loading-cover>

View File

@@ -14,15 +14,15 @@
<view class="refund-option" v-show="!refund_type">
<view class="option-item" @click="selectRefundType(1)">
<view>
<text>退款无需退货</text>
<text class="font-size-goods-tag color-tip">没收到货,或与卖家协商同意无需退货只退款</text>
<text>{{ $lang('refund.refundOnly') }}</text>
<text class="font-size-goods-tag color-tip">{{ $lang('refund.refundOnlyDesc') }}</text>
</view>
<text class="iconfont icon-right"></text>
</view>
<view class="option-item" @click="selectRefundType(2)" v-if="refund_data.refund_type.length == 2">
<view>
<text>退货退款</text>
<text class="font-size-goods-tag color-tip">已收到货,需退还收到的货物</text>
<text>{{ $lang('refund.returnRefund') }}</text>
<text class="font-size-goods-tag color-tip">{{ $lang('refund.returnRefundDesc') }}</text>
</view>
<text class="iconfont icon-right"></text>
</view>
@@ -31,27 +31,27 @@
<view v-show="refund_type">
<view class="refund-form">
<view class="item-wrap" @click="openPopup('refundReasonPopup')">
<view class="label">退款原因:</view>
<view class="label">{{ $lang('refund.refundReason') }}:</view>
<view class="cont reason">
<text class="color-tip" v-if="!refund_reason.length">请选择</text>
<text class="color-tip" v-if="!refund_reason.length">{{ $lang('form.selectPlaceholder') }}</text>
<text class="color-tip" v-else>{{ refund_reason }}</text>
</view>
<text class="iconfont icon-right"></text>
</view>
<view class="item-wrap">
<view class="label">退款金额:</view>
<view class="label">{{ $lang('refund.refundAmount') }}:</view>
<view class="cont color-base-text">{{ $lang('common.currencySymbol') }}{{ refund_data.refund_money }}</view>
</view>
</view>
<view class="refund-form">
<view class="item-wrap"><view class="label active">退款说明</view></view>
<view class="item-wrap"><view class="label active">{{ $lang('refund.refundRemark') }}</view></view>
<!-- #ifdef MP-WEIXIN -->
<textarea
v-if="!showText"
class="newText"
placeholder="请输入退款说明(选填)"
:placeholder="$lang('refund.remarkPlaceholder')"
placeholder-class="color-tip font-size-tag"
:auto-height="true"
v-model="refund_remark"
@@ -60,7 +60,7 @@
<!-- #ifdef H5 -->
<textarea
class="newText"
placeholder="请输入退款说明(选填)"
:placeholder="$lang('refund.remarkPlaceholder')"
@blur="textBlur()"
placeholder-class="color-tip font-size-tag"
:auto-height="true"
@@ -78,7 +78,7 @@
<uni-popup ref="refundReasonPopup" type="bottom" @change="change()">
<view class="refund-reason-popup popup">
<view class="popup-header">
<view><text class="tit">退款原因</text></view>
<view><text class="tit">{{ $lang('refund.refundReason') }}</text></view>
<view class="align-right" @click="closePopup('refundReasonPopup')"><text class="iconfont icon-close"></text></view>
</view>
<view class="popup-body">
@@ -92,7 +92,7 @@
</scroll-view>
</view>
<view class="popup-footer" :class="{ 'bottom-safe-area': isIphoneX }">
<view class="confirm-btn color-base-bg" @click="closePopup('refundReasonPopup')">确定</view>
<view class="confirm-btn color-base-bg" @click="closePopup('refundReasonPopup')">{{ $lang('common.confirm') }}</view>
</view>
</view>
</uni-popup>
@@ -172,7 +172,7 @@ export default {
this.refund_data = res.data;
if (this.$refs.loadingCover) this.$refs.loadingCover.hide();
} else {
this.$util.showToast({ title: '未获取到该订单项退款信息' });
this.$util.showToast({ title: this.$lang('refund.notObtained') });
setTimeout(() => {
this.$util.redirectTo('/pages_order/list');
}, 1000);
@@ -239,7 +239,7 @@ export default {
},
verify() {
if (this.refund_reason == '') {
this.$util.showToast({ title: '请选择退款原因' });
this.$util.showToast({ title: this.$lang('refund.selectRefundReason') });
return false;
}
return true;

View File

@@ -5,37 +5,37 @@
<view class="status-wrap">
<view class="status-name">{{ detail.refund_status_name }}</view>
<view class="refund-explain" v-if="detail.refund_status == 1">
<view class="font-size-goods-tag color-tip">如果商家拒绝,你可重新发起申请</view>
<view class="font-size-goods-tag color-tip">如果商家同意,将通过申请并退款给你</view>
<view class="font-size-goods-tag color-tip">{{ $lang('refund.refundProcess') }}</view>
<view class="font-size-goods-tag color-tip">{{ $lang('refund.refundProcess2') }}</view>
<!-- <view class="font-size-goods-tag color-tip">如果商家逾期未处理,平台将自动通过申请并退款给你</view> -->
</view>
<view class="refund-explain" v-if="detail.refund_status == 5">
<view class="font-size-goods-tag color-tip">如果商家确认收货将会退款给你</view>
<view class="font-size-goods-tag color-tip">如果商家拒绝收货,该次退款将会关闭,你可以重新发起退款</view>
<view class="font-size-goods-tag color-tip">{{ $lang('refund.refundProcess3') }}</view>
<view class="font-size-goods-tag color-tip">{{ $lang('refund.refundProcess4') }}</view>
</view>
</view>
<view class="history-wrap" @click="switchAction('consultrecord')">
<view>协商记录</view>
<view>{{ $lang('refund.negotiationRecord') }}</view>
<text class="iconfont icon-right"></text>
</view>
<view class="refund-address-wrap" v-if="detail.refund_status == 4">
<view class="header">退货地址</view>
<view class="header">{{ $lang('refund.returnAddress') }}</view>
<view>
<text>收货人:{{ detail.shop_contacts }}</text>
<text>{{ $lang('refund.consignee') }}:{{ detail.shop_contacts }}</text>
</view>
<view>
<text>联系方式:{{ detail.shop_mobile }}</text>
<text>{{ $lang('refund.contactMethod') }}:{{ detail.shop_mobile }}</text>
</view>
<view>
<text class="address">退货地址:{{ detail.shop_address }}</text>
<view class="copy" @click="$util.copy(detail.shop_address)">复制</view>
<text class="address">{{ $lang('refund.returnAddressDetail') }}:{{ detail.shop_address }}</text>
<view class="copy" @click="$util.copy(detail.shop_address)">{{ $lang('refund.copy') }}</view>
</view>
</view>
<view class="refund-info">
<view class="header">退款信息</view>
<view class="header">{{ $lang('refund.refundInfo') }}</view>
<view class="body">
<!-- 商品信息 -->
<view class="goods-wrap">
@@ -48,16 +48,16 @@
</view>
<!-- 退款信息 -->
<view class="info">
<view class="cell">退款方式:{{ detail.refund_type == 1 ? '仅退款' : '退款退货' }}</view>
<view class="cell" v-if="detail.refund_status == 3">退款途径:{{ detail.refund_money_type == 1 ? '原路退款' : detail.refund_money_type == 2 ? '线下退款' : '退款到余额' }}</view>
<view class="cell">退款原因:{{ detail.refund_reason }}</view>
<view class="cell" v-if="detail.refund_status == 3 && detail.refund_real_money>0">退款金额:{{ $lang('common.currencySymbol') }}{{ detail.refund_real_money }}</view>
<view class="cell" v-else-if="detail.refund_apply_money>0">退款金额:{{ $lang('common.currencySymbol') }}{{ detail.refund_apply_money }}</view>
<view class="cell">退款编号:{{ detail.refund_no }}</view>
<view class="cell">申请时间:{{ $util.timeStampTurnTime(detail.refund_action_time) }}</view>
<view class="cell" v-if="detail.refund_time">退款时间:{{ $util.timeStampTurnTime(detail.refund_time) }}</view>
<view class="cell" v-if="detail.refund_remark != ''">退款说明:{{ detail.refund_remark }}</view>
<view class="cell" v-if="detail.use_point>0">退款积分:{{ detail.use_point }}</view>
<view class="cell">{{ $lang('refund.refundTypeLabel') }}:{{ detail.refund_type == 1 ? $lang('refund.refundOnlyLabel') : $lang('refund.refundReturnLabel') }}</view>
<view class="cell" v-if="detail.refund_status == 3">{{ $lang('refund.refundPath') }}:{{ detail.refund_money_type == 1 ? $lang('refund.refundOriginal') : detail.refund_money_type == 2 ? $lang('refund.refundOffline') : $lang('refund.refundToBalance') }}</view>
<view class="cell">{{ $lang('refund.refundReason') }}:{{ detail.refund_reason }}</view>
<view class="cell" v-if="detail.refund_status == 3 && detail.refund_real_money>0">{{ $lang('refund.refundAmount') }}:{{ $lang('common.currencySymbol') }}{{ detail.refund_real_money }}</view>
<view class="cell" v-else-if="detail.refund_apply_money>0">{{ $lang('refund.refundAmount') }}:{{ $lang('common.currencySymbol') }}{{ detail.refund_apply_money }}</view>
<view class="cell">{{ $lang('refund.refundNo') }}:{{ detail.refund_no }}</view>
<view class="cell">{{ $lang('refund.applyTime') }}:{{ $util.timeStampTurnTime(detail.refund_action_time) }}</view>
<view class="cell" v-if="detail.refund_time">{{ $lang('refund.refundTime') }}:{{ $util.timeStampTurnTime(detail.refund_time) }}</view>
<view class="cell" v-if="detail.refund_remark != ''">{{ $lang('refund.refundRemark') }}:{{ detail.refund_remark }}</view>
<view class="cell" v-if="detail.use_point>0">{{ $lang('refund.refundPoint') }}:{{ detail.use_point }}</view>
</view>
</view>
</view>
@@ -72,44 +72,44 @@
<view v-show="action == 'returngoods'">
<view class="return-goods-container">
<view class="form-wrap">
<view class="item">
<view class="label">物流公司</view>
<view class="cont">
<input
type="text"
placeholder="请输入物流公司"
class="input"
placeholder-class="input-placeholder color-tip"
v-model="formData.refund_delivery_name"
/>
<view class="item">
<view class="label">{{ $lang('refund.returnExpressCompany') }}</view>
<view class="cont">
<input
type="text"
:placeholder="$lang('refund.inputExpressCompany')"
class="input"
placeholder-class="input-placeholder color-tip"
v-model="formData.refund_delivery_name"
/>
</view>
</view>
<view class="item">
<view class="label">{{ $lang('refund.returnExpressNo') }}</view>
<view class="cont">
<input
type="text"
:placeholder="$lang('refund.inputExpressNo')"
class="input"
placeholder-class="input-placeholder color-tip"
v-model="formData.refund_delivery_no"
/>
</view>
</view>
<view class="item">
<view class="label">{{ $lang('refund.expressRemark') }}</view>
<view class="cont">
<textarea
placeholder-class="color-tip font-size-tag"
:auto-height="true"
class="textarea"
:placeholder="$lang('form.optional')"
v-model="formData.refund_delivery_remark"
/>
</view>
</view>
</view>
<view class="item">
<view class="label">物流单号</view>
<view class="cont">
<input
type="text"
placeholder="请输入物流单号"
class="input"
placeholder-class="input-placeholder color-tip"
v-model="formData.refund_delivery_no"
/>
</view>
</view>
<view class="item">
<view class="label">物流说明</view>
<view class="cont">
<textarea
placeholder-class="color-tip font-size-tag"
:auto-height="true"
class="textarea"
placeholder="选填"
v-model="formData.refund_delivery_remark"
/>
</view>
</view>
</view>
<button type="primary" class="sub-btn" @click="refurnGoods">提交</button>
<button type="primary" class="sub-btn" @click="refurnGoods">{{ $lang('form.submit') }}</button>
</view>
</view>
@@ -118,7 +118,7 @@
<view class="record-item" :class="logItem.action_way == 1 ? 'buyer' : ''" v-for="(logItem, logIndex) in detail.refund_log_list" :key="logIndex">
<view class="cont">
<view class="head">
<text>{{ logItem.action_way == 1 ? '买家' : '卖家' }}</text>
<text>{{ logItem.action_way == 1 ? $lang('refund.buyer') : $lang('refund.seller') }}</text>
<text class="time">{{ $util.timeStampTurnTime(logItem.action_time) }}</text>
</view>
<view class="body">
@@ -136,7 +136,7 @@
<text>联系客服</text>
</view>
</ns-contact> -->
<view @click="switchAction('')">返回详情</view>
<view @click="switchAction('')">{{ $lang('refund.backToDetail') }}</view>
</view>
</view>
</scroll-view>
@@ -190,7 +190,7 @@ export default {
this.detail = res.data;
if (this.$refs.loadingCover) this.$refs.loadingCover.hide();
} else {
this.$util.showToast({ title: '未获取到该订单项退款信息' });
this.$util.showToast({ title: this.$lang('refund.notObtained') });
setTimeout(() => {
this.$util.redirectTo('/pages_order/list');
}, 1000);
@@ -206,7 +206,7 @@ export default {
case 'orderRefundCancel':
this.cancleRefund(this.detail.order_goods_id, res => {
if (res.code >= 0) {
this.$util.showToast({ title: '撤销成功' });
this.$util.showToast({ title: this.$lang('refund.cancelSuccess') });
setTimeout(() => {
this.$util.redirectTo('/pages_order/list');
}, 1000);
@@ -223,8 +223,8 @@ export default {
},
refurnGoods() {
var rule = [
{ name: 'refund_delivery_name', checkType: 'required', errorMsg: '请输入物流公司' },
{ name: 'refund_delivery_no', checkType: 'required', errorMsg: '请输入物流单号' }
{ name: 'refund_delivery_name', checkType: 'required', errorMsg: this.$lang('refund.inputExpressCompany') },
{ name: 'refund_delivery_no', checkType: 'required', errorMsg: this.$lang('refund.inputExpressNo') }
];
this.formData.order_goods_id = this.order_goods_id;
var checkRes = validate.check(this.formData, rule);

View File

@@ -4,15 +4,15 @@
<view class="refund-option">
<view class="option-item" @click="selectRefundType(1)">
<view>
<text>退款无需退货</text>
<text class="font-size-goods-tag color-tip">没收到货,或与卖家协商同意无需退货只退款</text>
<text>{{ $lang('refund.refundOnly') }}</text>
<text class="font-size-goods-tag color-tip">{{ $lang('refund.refundOnlyDesc') }}</text>
</view>
<text class="iconfont icon-right"></text>
</view>
<view class="option-item" @click="selectRefundType(2)" v-if="refund_data.order_status == 3">
<view>
<text>退货退款</text>
<text class="font-size-goods-tag color-tip">已收到货,需退还收到的货物</text>
<text>{{ $lang('refund.returnRefund') }}</text>
<text class="font-size-goods-tag color-tip">{{ $lang('refund.returnRefundDesc') }}</text>
</view>
<text class="iconfont icon-right"></text>
</view>

View File

@@ -18,13 +18,13 @@
<text class="iconfont" :class="payIndex == index ? 'icon-yuan_checked color-base-text' : 'icon-checkboxblank'"></text>
</view>
</view>
<button type="primary" @click="confirm">确认支付</button>
<button type="primary" @click="confirm">{{ $lang('payment.confirmPay') }}</button>
</block>
<view v-else class="empty">店铺尚未配置支付方式!</view>
<view v-else class="empty">{{ $lang('pay.noPayMethod') }}</view>
</block>
<ns-empty text="该支付单据已支付" :is-index="true" v-else></ns-empty>
<ns-empty :text="$lang('pay.alreadyPaid')" :is-index="true" v-else></ns-empty>
</block>
<ns-empty text="未获取到支付信息" :is-index="true" v-else></ns-empty>
<ns-empty :text="$lang('pay.noPayInfo')" :is-index="true" v-else></ns-empty>
<ns-login ref="login"></ns-login>
</view>
</template>
@@ -40,12 +40,12 @@ export default {
// #ifdef H5
payTypeList: [
{
name: '支付宝支付',
name: this.$lang('pay.alipay'),
icon: 'icon-zhifubaozhifu-',
type: 'alipay'
},
{
name: '微信支付',
name: this.$lang('pay.wechatpay'),
icon: 'icon-weixin1',
type: 'wechatpay'
}
@@ -54,7 +54,7 @@ export default {
// #endif
// #ifdef MP-WEIXIN
payTypeList: [{
name: '微信支付',
name: this.$lang('pay.wechatpay'),
provider: 'wxpay',
icon: 'icon-weixin1',
type: 'wechatpay'

View File

@@ -18,36 +18,36 @@
<view class="consume-box" v-if="addonIsExist.memberconsume && consumeStatus == 1 && payInfo.pay_status">
<view class="consume-head">
<view class="consume-head-text">恭喜您获得</view>
<view class="consume-head-text">{{ $lang('pay.congrats') }}</view>
</view>
<view class="consume-list">
<view class="consume-item" v-if="consumeInfo.point_num > 0">
<image :src="$util.img('public/uniapp/pay/point.png')" mode="widthFix" show-menu-by-longpress></image>
<view class="consume-value color-base-text">{{ consumeInfo.point_num }}</view>
<view class="consume-type">积分</view>
<view class="consume-type">{{ $lang('reward.points') }}</view>
</view>
<view class="consume-item" v-if="consumeInfo.growth_num > 0">
<image :src="$util.img('public/uniapp/pay/growth.png')" mode="widthFix" show-menu-by-longpress></image>
<view class="consume-value color-base-text">{{ consumeInfo.growth_num }}</view>
<view class="consume-type">成长值</view>
<view class="consume-type">{{ $lang('reward.growth') }}</view>
</view>
<view class="consume-item" v-if="consumeInfo.coupon_list.length > 0">
<image :src="$util.img('public/uniapp/pay/coupon.png')" mode="widthFix" show-menu-by-longpress></image>
<view class="consume-value color-base-text">{{ consumeInfo.coupon_list.length }}</view>
<view class="consume-type">张优惠券</view>
<view class="consume-type">{{ $lang('pay.couponCount') }}</view>
</view>
</view>
</view>
<view class="action">
<template v-if="storeToken">
<view v-if="paySource == 'recharge'" class="btn" @click="toRecharge()">充值记录</view>
<view v-else-if="paySource == 'membercard'" class="btn" @click="toCard()">会员卡</view>
<view v-else-if="paySource == 'presale'" class="btn" @click="toPresaleOrder()">查看订单</view>
<view v-else-if="paySource == 'giftcard'" class="btn" @click="toOrder()">查看订单</view>
<view v-else-if="paySource == 'pointexchange'" class="btn" @click="toExchangeOrder()">查看订单
<view v-if="paySource == 'recharge'" class="btn" @click="toRecharge()">{{ $lang('recharge.record') }}</view>
<view v-else-if="paySource == 'membercard'" class="btn" @click="toCard()">{{ $lang('member.card') }}</view>
<view v-else-if="paySource == 'presale'" class="btn" @click="toPresaleOrder()">{{ $lang('order.viewDetail') }}</view>
<view v-else-if="paySource == 'giftcard'" class="btn" @click="toOrder()">{{ $lang('order.viewDetail') }}</view>
<view v-else-if="paySource == 'pointexchange'" class="btn" @click="toExchangeOrder()">{{ $lang('order.viewDetail') }}
</view>
<view v-else class="btn" @click="toOrderDetail(payInfo.order_id)">查看订单</view>
<view v-else class="btn" @click="toOrderDetail(payInfo.order_id)">{{ $lang('order.viewDetail') }}</view>
</template>
<view class="btn go-home" @click="goHome()">{{ $lang('goHome') }}</view>
</view>

View File

@@ -9,24 +9,24 @@
</view> -->
<view class="recharge-box">
<view class="recharge-box-title">充值金额
<view @click="toOrderList"><text class="color-base-text" style="color:#1db03b !important">充值记录</text></view>
<view class="recharge-box-title">{{ $lang('recharge.rechargeAmount') }}
<view @click="toOrderList"><text class="color-base-text" style="color:#1db03b !important">{{ $lang('recharge.rechargeRecord') }}</text></view>
</view>
<view class="box-content">
<view class="money">
<text class="label">¥</text>
<view class="input-box">
<input class="reg-input" v-model="payMoney" placeholder="请输入充值金额" placeholder-style="font-size:32rpx;color:#969696;font-weight:500"></input>
<input class="reg-input" v-model="payMoney" :placeholder="$lang('recharge.inputRechargeAmount')" placeholder-style="font-size:32rpx;color:#969696;font-weight:500"></input>
</view>
</view>
<view v-if="list.length" class="content-item" v-for="(item, index) in list" :key="index" @click="itemClick(index, item.recharge_id, item.buy_price)" :class="isIndex == index ? 'active' : ''">
<view class="price1 ">
<text class="price-font">{{ parseFloat(item.face_value).toFixed(0) }}</text>
<text>元</text>
</view>
<view class="price2">售价 {{ item.buy_price }} 元</view>
<text class="price-font">{{ parseFloat(item.face_value).toFixed(0) }}</text>
<text>{{ $lang('recharge.yuan') }}</text>
</view>
<view class="price2">{{ $lang('recharge.sellPrice') }} {{ item.buy_price }} {{ $lang('recharge.yuan') }}</view>
</view>
<!-- <view class="content-item" @click="openRecharge()">
@@ -62,12 +62,12 @@
</view> -->
<uni-popup ref="rechargePopup" type="bottom">
<view class="rechargeList">
<view class="tip">请输入充值金额</view>
<view class="tip">{{ $lang('recharge.inputRechargeAmount') }}</view>
<view class="input color-tip">
{{keywordsInfo.price?keywordsInfo.price:'金额'}}<text class="color-base-text">元</text>
{{keywordsInfo.price?keywordsInfo.price:$lang('recharge.amount')}}<text class="color-base-text">{{ $lang('recharge.yuan') }}</text>
</view>
<view class="input color-tip">
<text class="color-base-text" v-if="payMoney > 0">售价{{payMoney}}元</text>
<text class="color-base-text" v-if="payMoney > 0">{{ $lang('recharge.sellPrice') }}{{payMoney}}{{ $lang('recharge.yuan') }}</text>
</view>
<view class="keywords">
<view class="keywords-left">
@@ -86,7 +86,7 @@
</view>
<view class="keywords-right">
<view @click="delPrice"><text class="iconfont icon-close"></text></view>
<view class="color-base-bg" @click="keywordsPayment()">确认充值</view>
<view class="color-base-bg" @click="keywordsPayment()">{{ $lang('recharge.confirmRecharge') }}</view>
</view>
</view>
</view>
@@ -94,7 +94,7 @@
<!-- 选择支付方式弹窗 -->
<ns-payment ref="choosePaymentPopup" :payMoney="payMoney" @confirm="toPay"></ns-payment>
<view style="background: #fff;width: 100%;position: fixed;bottom: 0rpx;">
<button class="add-account" type="primary" @click="submitPayment" >充值</button>
<button class="add-account" type="primary" @click="submitPayment" >{{ $lang('recharge.recharge') }}</button>
</view>
<!-- <button class="add-account" type="primary" :disabled="recharge_id > 0 ? false : true" @click="openChoosePayment">充值</button> -->
@@ -176,7 +176,7 @@
this.openChoosePayment()
} else {
this.$util.showToast({
title: "请输入充值金额"
title: this.$lang('recharge.inputRechargeAmount')
})
}
@@ -273,7 +273,7 @@
});
} else {
this.$util.showToast({
title: '请选择套餐'
title: this.$lang('recharge.selectPackage')
});
}
},

View File

@@ -3,7 +3,7 @@
<view class="content">
<view class="cate-search">
<view class="search-box">
<input class="uni-input" maxlength="50" confirm-type="search" :focus="true" placeholder="请输入介质名称 '如汽油'" v-model="inputValue" @focus="inputFocus" @confirm="search" @input="inputChange" />
<input class="uni-input" maxlength="50" confirm-type="search" :focus="true" :placeholder="$lang('seal.inputMediumName')" v-model="inputValue" @focus="inputFocus" @confirm="search" @input="inputChange" />
<text @tap="search" class="iconfont icon-sousuo3"></text>
</view>
</view>
@@ -12,7 +12,7 @@
<view class="history">
<view class="history-box">
<view class="history-top">
<view class="title">搜索结果</view>
<view class="title">{{ $lang('seal.searchResult') }}</view>
</view>
<view class="history-bottom">
<block v-for="(item, index) in list" :key="index">
@@ -25,7 +25,7 @@
</view>
</block>
<view>
<ns-empty v-if="list.length === 0" isIndex="false" text="暂无数据"></ns-empty>
<ns-empty v-if="list.length === 0" isIndex="false" :text="$lang('seal.noData')"></ns-empty>
</view>
</view>
</view>
@@ -78,8 +78,8 @@ export default {
},
deleteHistoryList() {
uni.showModal({
title: "提示",
content: "确认删除全部历史记录?",
title: this.$lang('form.tip'),
content: this.$lang('seal.confirmDeleteAllHistory'),
success: (res) => {
if (res.confirm) {
uni.setStorageSync("search", []);
@@ -90,8 +90,8 @@ export default {
},
deleteItem(item, index) {
uni.showModal({
title: "提示",
content: "确认删除该条历史记录?",
title: this.$lang('form.tip'),
content: this.$lang('seal.confirmDeleteHistory'),
success: (res) => {
if (res.confirm) {
let search = uni.getStorageSync("search");