refactor: 统一项目内国际化key的命名空间格式

本次提交对全项目的国际化调用进行了规范化重构:
1. 为中文/英文语言包新增了avatar和gender的别名映射,兼容旧有headImg/sex写法
2. 修正了lang.js中的注释路径错误
3. 将所有页面和组件内的$lang调用从短路径改为带业务模块前缀的完整命名空间路径,例如将$lang('title')改为$lang('article.list.title')
4. 优化了i18n-lazy.js的注释说明,补充了正确的key命名格式示例
5. 统一了分销、订单、会员等模块的国际化key层级,确保所有语言调用路径一致
This commit is contained in:
2026-07-04 09:24:35 +08:00
parent 92e8823566
commit 783c10fc62
98 changed files with 1543 additions and 1530 deletions

View File

@@ -299,7 +299,7 @@
:focus="true" />
<view class="expand-editor-footer">
<button class="expand-cancel-btn" @click="closeExpandEditor">{{ $lang('ai-chat.index.cancel') }}</button>
<button class="expand-send-btn" @click="sendFromExpandEditor" :disabled="!expandInputText.trim()">{{ $lang('send') }}</button>
<button class="expand-send-btn" @click="sendFromExpandEditor" :disabled="!expandInputText.trim()">{{ $lang('ai-chat.index.send') }}</button>
</view>
</view>
</view>
@@ -1125,11 +1125,11 @@ _handleStreamError(msg) {
generateAIResponse(userMessage) {
const responses = {
'你好': this.$lang('autoReplyGreeting'),
'价格': this.$lang('autoReplyPrice'),
'发货': this.$lang('autoReplyShipping'),
'退货': this.$lang('autoReplyReturn'),
'客服': this.$lang('autoReplyService')
'你好': this.$lang('ai-chat.index.autoReplyGreeting'),
'价格': this.$lang('ai-chat.index.autoReplyPrice'),
'发货': this.$lang('ai-chat.index.autoReplyShipping'),
'退货': this.$lang('ai-chat.index.autoReplyReturn'),
'客服': this.$lang('ai-chat.index.autoReplyService')
};
for (let key in responses) {
if (userMessage.includes(key)) {

View File

@@ -3,7 +3,7 @@
<view class="avatar-selector-mask" @click="close"></view>
<view class="avatar-selector-panel">
<view class="avatar-selector-header">
<text>{{ $lang('avatarSelectorTitle') }}</text>
<text>{{ $lang('ai-chat.index.avatarSelectorTitle') }}</text>
<button class="close-btn" @click="close">
<text class="iconfont icon-close"></text>
</button>
@@ -15,10 +15,10 @@
<view class="avatar-selector-actions">
<button class="avatar-select-action" @click="chooseAvatarFromAlbum">
<text class="iconfont icon-album"></text>
<text>{{ $lang('chooseFromAlbum') }}</text>
<text>{{ $lang('ai-chat.index.chooseFromAlbum') }}</text>
</button>
<button class="avatar-select-action cancel" @click="close">
<text>{{ $lang('cancel') }}</text>
<text>{{ $lang('ai-chat.index.cancel') }}</text>
</button>
</view>
</view>
@@ -80,7 +80,7 @@ export default {
reader.readAsDataURL(file)
this.$emit('avatar-change', tempFilePath)
this.close()
uni.showToast({ title: this.$lang('avatarChangeSuccess'), icon: 'success', duration: 1500 })
uni.showToast({ title: this.$lang('ai-chat.index.avatarChangeSuccess'), icon: 'success', duration: 1500 })
} else {
this.close()
}
@@ -99,11 +99,11 @@ export default {
uni.setStorageSync('user_avatar', tempFilePath)
this.$emit('avatar-change', tempFilePath)
this.close()
uni.showToast({ title: this.$lang('avatarChangeSuccess'), icon: 'success', duration: 1500 })
uni.showToast({ title: this.$lang('ai-chat.index.avatarChangeSuccess'), icon: 'success', duration: 1500 })
},
fail: (error) => {
if (error.errMsg && error.errMsg.includes('deny')) {
uni.showToast({ title: this.$lang('enableAlbumPermission'), icon: 'none', duration: 2000 })
uni.showToast({ title: this.$lang('ai-chat.index.enableAlbumPermission'), icon: 'none', duration: 2000 })
}
this.close()
}

View File

@@ -3,7 +3,7 @@
<view class="emoji-mask" @click="hideEmojiPanel"></view>
<view class="emoji-panel">
<view class="emoji-header">
<text>{{ $lang('emojiTitle') }}</text>
<text>{{ $lang('ai-chat.index.emojiTitle') }}</text>
<button class="close-btn" @click="hideEmojiPanel">
<text>×</text>
</button>

View File

@@ -3,7 +3,7 @@
<view class="nickname-editor-mask" @click="close"></view>
<view class="nickname-editor-panel">
<view class="nickname-editor-header">
<text>{{ $lang('editNickname') }}</text>
<text>{{ $lang('ai-chat.index.editNickname') }}</text>
<button class="close-btn" @click="close">
<text class="iconfont icon-close"></text>
</button>
@@ -13,21 +13,21 @@
<input
v-model="tempNickname"
class="nickname-input"
:placeholder="$lang('newNicknamePlaceholder')"
:placeholder="$lang('ai-chat.index.newNicknamePlaceholder')"
:maxlength="12"
type="text" />
</view>
<view class="nickname-tip">{{ $lang('nicknameTip') }}</view>
<view class="nickname-tip">{{ $lang('ai-chat.index.nicknameTip') }}</view>
<view class="nickname-editor-actions">
<button class="nickname-action-btn cancel" @click="close">
<text>{{ $lang('cancel') }}</text>
<text>{{ $lang('ai-chat.index.cancel') }}</text>
</button>
<button
class="nickname-action-btn confirm"
:class="{ disabled: !tempNickname.trim() }"
:disabled="!tempNickname.trim()"
@click="saveNickname">
<text>{{ $lang('save') }}</text>
<text>{{ $lang('ai-chat.index.save') }}</text>
</button>
</view>
</view>
@@ -87,7 +87,7 @@ export default {
uni.setStorageSync('user_nickname', newNickname)
this.$emit('nickname-change', newNickname)
this.close()
uni.showToast({ title: this.$lang('nicknameChangeSuccess'), icon: 'success', duration: 1500 })
uni.showToast({ title: this.$lang('ai-chat.index.nicknameChangeSuccess'), icon: 'success', duration: 1500 })
}
}
}

View File

@@ -3,7 +3,7 @@
<!-- 搜索入口按钮(浮动在消息区右上角) -->
<view class="search-entrance" :class="{ 'icon-only': !showLabel }" v-if="!showSearchBar" @click="toggleSearch">
<text class="iconfont icon-sousuo search-entrance-icon"></text>
<text class="search-entrance-label" v-if="showLabel">{{ $lang('searchEntrance') }}</text>
<text class="search-entrance-label" v-if="showLabel">{{ $lang('ai-chat.index.searchEntrance') }}</text>
</view>
<!-- 搜索浮条 -->
@@ -14,7 +14,7 @@
<input
class="search-bar-input"
v-model="searchKeyword"
:placeholder="$lang('searchPlaceholder')"
:placeholder="$lang('ai-chat.index.searchPlaceholder')"
:focus="true"
@input="onSearchInput"
@confirm="doSearch" />
@@ -27,11 +27,11 @@
<text class="search-bar-nav" :class="{ disabled: searchResultIndex >= searchResults.length - 1 }" @click="scrollToNextResult">▼</text>
</view>
</view>
<text class="search-bar-close" @click="closeSearch">{{ $lang('searchClose') }}</text>
<text class="search-bar-close" @click="closeSearch">{{ $lang('ai-chat.index.searchClose') }}</text>
</view>
<view class="search-bar-status" v-if="searched && searchKeyword && searchResults.length === 0">
<text class="search-bar-status-icon">!</text>
<text class="search-bar-status-text">{{ $lang('noMatchResult') }}</text>
<text class="search-bar-status-text">{{ $lang('ai-chat.index.noMatchResult') }}</text>
</view>
</view>
</view>
@@ -187,7 +187,7 @@ export default {
if (idx >= 0) {
this.scrollToSearchResult(idx)
} else {
uni.showToast({ title: this.$lang('searchAtTop'), icon: 'none' })
uni.showToast({ title: this.$lang('ai-chat.index.searchAtTop'), icon: 'none' })
}
},
@@ -196,7 +196,7 @@ export default {
if (idx < this.searchResults.length) {
this.scrollToSearchResult(idx)
} else {
uni.showToast({ title: this.$lang('searchAtBottom'), icon: 'none' })
uni.showToast({ title: this.$lang('ai-chat.index.searchAtBottom'), icon: 'none' })
}
},

View File

@@ -3,7 +3,7 @@
<view class="tools-mask" @click="hideToolsPanel"></view>
<view class="tools-panel">
<view class="tools-header">
<text>{{ $lang('moreFunctions') }}</text>
<text>{{ $lang('ai-chat.index.moreFunctions') }}</text>
<button class="close-btn" @click="hideToolsPanel">
<text class="iconfont icon-close"></text>
</button>
@@ -13,25 +13,25 @@
<view class="tool-icon">
<text class="iconfont icon-image"></text>
</view>
<text class="tool-text">{{ $lang('image') }}</text>
<text class="tool-text">{{ $lang('ai-chat.index.image') }}</text>
</view>
<view class="tool-item" @click="selectFile">
<view class="tool-icon">
<text class="iconfont icon-file"></text>
</view>
<text class="tool-text">{{ $lang('file') }}</text>
<text class="tool-text">{{ $lang('ai-chat.index.file') }}</text>
</view>
<view class="tool-item" @click="startRecord">
<view class="tool-icon">
<text class="iconfont icon-voice"></text>
</view>
<text class="tool-text">{{ $lang('voice') }}</text>
<text class="tool-text">{{ $lang('ai-chat.index.voice') }}</text>
</view>
<view class="tool-item" @click="selectLocation">
<view class="tool-icon">
<text class="iconfont icon-location"></text>
</view>
<text class="tool-text">{{ $lang('location') }}</text>
<text class="tool-text">{{ $lang('ai-chat.index.location') }}</text>
</view>
</view>
</view>

View File

@@ -3,7 +3,7 @@
<view class="voice-mask" @click="hideVoicePanel"></view>
<view class="voice-input-panel">
<view class="voice-header">
<text>{{ $lang('voiceInputTitle') }}</text>
<text>{{ $lang('ai-chat.index.voiceInputTitle') }}</text>
<button class="close-btn" @click="hideVoicePanel">
<text class="iconfont icon-close"></text>
</button>
@@ -16,7 +16,7 @@
class="wave-bar"
:style="{ animationDelay: (i * 0.1) + 's' }"></view>
</view>
<text class="voice-tip">{{ voiceInputing ? $lang('recordingTip') : $lang('startRecordTip') }}</text>
<text class="voice-tip">{{ voiceInputing ? $lang('ai-chat.index.recordingTip') : $lang('ai-chat.index.startRecordTip') }}</text>
</view>
<view class="voice-actions">
<button class="voice-btn" @click="toggleVoiceInput">
@@ -86,7 +86,7 @@ export default {
// 录音中,可扩展实时转文字
})
.catch(error => {
uni.showToast({ title: this.$lang('voiceInputFailed'), icon: 'none' })
uni.showToast({ title: this.$lang('ai-chat.index.voiceInputFailed'), icon: 'none' })
this.voiceInputing = false
})
}

View File

@@ -39,7 +39,7 @@
<view class="settings-mask" @click="hideSettings"></view>
<view class="settings-panel">
<view class="settings-header">
<text class="settings-title">{{ $lang('settingsTitle') }}</text>
<text class="settings-title">{{ $lang('ai-chat.index.settingsTitle') }}</text>
<view class="close-btn" @click="hideSettings">
<text>✕</text>
</view>
@@ -50,8 +50,8 @@
<text class="iconfont icon-user">📷</text>
</view>
<view class="setting-info">
<text class="setting-label">{{ $lang('changeAvatar') }}</text>
<text class="setting-desc">{{ $lang('changeAvatarDesc') }}</text>
<text class="setting-label">{{ $lang('ai-chat.index.changeAvatar') }}</text>
<text class="setting-desc">{{ $lang('ai-chat.index.changeAvatarDesc') }}</text>
</view>
<text class="iconfont icon-right">›</text>
</view>
@@ -60,8 +60,8 @@
<text class="iconfont icon-edit">✏️</text>
</view>
<view class="setting-info">
<text class="setting-label">{{ $lang('changeNickname') }}</text>
<text class="setting-desc">{{ $lang('changeNicknameDesc') }}</text>
<text class="setting-label">{{ $lang('ai-chat.index.changeNickname') }}</text>
<text class="setting-desc">{{ $lang('ai-chat.index.changeNicknameDesc') }}</text>
</view>
<text class="iconfont icon-right">›</text>
</view>
@@ -125,7 +125,7 @@ export default {
},
async onLoad(options) {
this.fallbackWelcome = this.$lang('fallbackWelcome');
this.fallbackWelcome = this.$lang('ai-chat.index.fallbackWelcome');
// ✅ 修改:取消权限校验,允许所有客服类型访问此页面
// const hasAccess = this.checkAccessPermission();
@@ -134,7 +134,7 @@ export default {
// return;
// }
this.$langConfig.title(this.$lang('title'));
this.$langConfig.title(this.$lang('ai-chat.index.title'));
this.initChat();
},
@@ -143,7 +143,7 @@ export default {
},
onShow() {
console.log(this.$lang('logOnShowTriggered'));
console.log(this.$lang('ai-chat.index.logOnShowTriggered'));
// 监听键盘高度变化(H5 可能不支持,try-catch 保护)
try {
this._keyboardChangeHandler = (res) => {
@@ -154,7 +154,7 @@ export default {
};
uni.onKeyboardHeightChange(this._keyboardChangeHandler);
} catch (e) {
console.warn(this.$lang('logKeyboardChangeUnavailable') + ':', e.message);
console.warn(this.$lang('ai-chat.index.logKeyboardChangeUnavailable') + ':', e.message);
}
// 每次页面显示时尝试加载历史记录(H5可能组件尚未创建,用 nextTick 确保 ref 就绪)
this.$nextTick(() => {
@@ -177,7 +177,7 @@ export default {
},
onUnload() {
console.log(this.$lang('logOnUnloadTriggered'));
console.log(this.$lang('ai-chat.index.logOnUnloadTriggered'));
this.cleanup();
aiService.disconnectWebSocket();
},
@@ -233,13 +233,13 @@ export default {
},
handleEventError(error, event) {
console.error(this.$lang('logEventHandleError') + ':', {
console.error(this.$lang('ai-chat.index.logEventHandleError') + ':', {
error: error.message,
eventType: event?.type,
component: this. $options.name
});
this.showError(this.$lang('operationFailed'));
this.showError(this.$lang('ai-chat.index.operationFailed'));
},
// ========== 初始化页面 ==========
@@ -263,7 +263,7 @@ export default {
this.calculateScrollViewHeight();
this.setupNavigationEvents();
} catch (error) {
console.error(this.$lang('logInitNavbarFailed') + ':', error);
console.error(this.$lang('ai-chat.index.logInitNavbarFailed') + ':', error);
this.setFallbackNavigationValues();
}
},
@@ -319,7 +319,7 @@ export default {
// 显示菜单
showMenu() {
uni.showActionSheet({
itemList: [this.$lang('menuClearChat'), this.$lang('menuExport'), this.$lang('menuSettings'), this.$lang('menuHelp')],
itemList: [this.$lang('ai-chat.index.menuClearChat'), this.$lang('ai-chat.index.menuExport'), this.$lang('ai-chat.index.menuSettings'), this.$lang('ai-chat.index.menuHelp')],
success: (res) => {
switch (res.tapIndex) {
case 0:
@@ -341,8 +341,8 @@ export default {
clearChat() {
uni.showModal({
title: this.$lang('prompt'),
content: this.$lang('confirmClearChat'),
title: this.$lang('ai-chat.index.prompt'),
content: this.$lang('ai-chat.index.confirmClearChat'),
success: (res) => {
if (res.confirm) {
this. $refs.chat.clearMessages();
@@ -350,7 +350,7 @@ export default {
id: Date.now(),
role: 'ai',
type: 'text',
content: this.$lang('chatCleared'),
content: this.$lang('ai-chat.index.chatCleared'),
timestamp: Date.now()
});
}
@@ -360,7 +360,7 @@ export default {
exportChat() {
uni.showToast({
title: this.$lang('featureDeveloping'),
title: this.$lang('ai-chat.index.featureDeveloping'),
icon: 'none'
});
},
@@ -388,7 +388,7 @@ export default {
id: Date.now(),
role: 'ai',
type: 'markdown',
content: this.$lang('helpContent'),
content: this.$lang('ai-chat.index.helpContent'),
timestamp: Date.now()
};
this.$refs.chat.addMessage(helpMessage);
@@ -402,11 +402,11 @@ export default {
generateAIResponse(userMessage) {
const responses = [
this.$lang('aiResponseTemplate1'),
this.$lang('aiResponseTemplate2'),
this.$lang('aiResponseTemplate3'),
this.$lang('aiResponseTemplate4'),
this.$lang('aiResponseTemplate5')
this.$lang('ai-chat.index.aiResponseTemplate1'),
this.$lang('ai-chat.index.aiResponseTemplate2'),
this.$lang('ai-chat.index.aiResponseTemplate3'),
this.$lang('ai-chat.index.aiResponseTemplate4'),
this.$lang('ai-chat.index.aiResponseTemplate5'),
];
const randomResponse = responses[Math.floor(Math.random() * responses.length)];
@@ -415,7 +415,7 @@ export default {
id: Date.now(),
role: 'ai',
type: 'text',
content: `${randomResponse}\n\n${this.$lang('aiProcessingMessage', { question: userMessage.content })}`,
content: `${randomResponse}\n\n${this.$lang('ai-chat.index.aiProcessingMessage', { question: userMessage.content })}`,
timestamp: Date.now(),
actions: [
{ type: 'like', count: 0 },
@@ -430,10 +430,10 @@ export default {
onActionClick({ action, message }) {
switch (action.type) {
case 'like':
uni.showToast({ title: this.$lang('thanksFeedback'), icon: 'success' });
uni.showToast({ title: this.$lang('ai-chat.index.thanksFeedback'), icon: 'success' });
break;
case 'dislike':
uni.showToast({ title: this.$lang('improveService'), icon: 'none' });
uni.showToast({ title: this.$lang('ai-chat.index.improveService'), icon: 'none' });
break;
}
},
@@ -442,7 +442,7 @@ export default {
},
onFilePreview(message) {
uni.showToast({ title: this.$lang('openingFileName', { name: message.fileName }), icon: 'none' });
uni.showToast({ title: this.$lang('ai-chat.index.openingFileName', { name: message.fileName }), icon: 'none' });
},
onAudioPlay(message) {
@@ -459,11 +459,11 @@ export default {
sendProductToAI(product) {
if (!this.$refs.chat) {
console.error(this.$lang('logChatComponentNotInit'))
console.error(this.$lang('ai-chat.index.logChatComponentNotInit'))
return
}
const productContent = this.$lang('productInquiryTemplate', {
const productContent = this.$lang('ai-chat.index.productInquiryTemplate', {
name: product.goods_name,
price: product.price,
id: product.goods_id
@@ -475,8 +475,8 @@ export default {
onLinkOpen(message) {
uni.showModal({
title: this.$lang('openLink'),
content: this.$lang('confirmOpenLinkText', { url: message.url }),
title: this.$lang('ai-chat.index.openLink'),
content: this.$lang('ai-chat.index.confirmOpenLinkText', { url: message.url }),
success: (res) => {
if (res.confirm) {
// #ifdef H5
@@ -491,7 +491,7 @@ export default {
},
onProductView(message) {
uni.showToast({ title: this.$lang('openingFileTitle', { title: message.title }), icon: 'none' });
uni.showToast({ title: this.$lang('ai-chat.index.openingFileTitle', { title: message.title }), icon: 'none' });
},
onInputChange(value) {
@@ -503,7 +503,7 @@ export default {
// 如果配置未加载,延迟重试(最多3次,防白屏)
if (!servicerConfig) {
console.warn(this.$lang('logServicerConfigNotLoaded'));
console.warn(this.$lang('ai-chat.index.logServicerConfigNotLoaded'));
setTimeout(() => {
this.checkAccessPermission();
}, 200);
@@ -519,7 +519,7 @@ export default {
// #endif
if (currentType !== 'aikefu') {
uni.showToast({ title: this.$lang('serviceTypeNotSupported'), icon: 'none' });
uni.showToast({ title: this.$lang('ai-chat.index.serviceTypeNotSupported'), icon: 'none' });
setTimeout(() => {
const pages = getCurrentPages();
if (pages.length > 1) {

View File

@@ -88,7 +88,7 @@ export default {
setPublicShare() {
let shareUrl = this.$config.h5Domain + '/pages_tool/article/list';
this.$util.setPublicShare({
title: this.$lang('title'),
title: this.$lang('article.list.title'),
desc: '',
link: shareUrl,
imgUrl: this.siteInfo ? this.$util.img(this.siteInfo.logo_square) : ''
@@ -96,7 +96,7 @@ export default {
}
},
onShareAppMessage(res) {
var title = this.$lang('title');
var title = this.$lang('article.list.title');
var path = '/pages_tool/article/list';
return {
title: title,
@@ -107,7 +107,7 @@ export default {
},
//分享到朋友圈
onShareTimeline() {
var title = this.$lang('title');
var title = this.$lang('article.list.title');
var query = '/pages_tool/article/list';
return {
title: title,

View File

@@ -19,7 +19,7 @@
<view style="padding:20rpx;">
<view style="font-size:36rpx;font-weight:600;">{{item.$orig.title}}</view>
<view>{{item.$orig.desc}}</view>
<view style="font-size:24rpx;color:#888;padding-top:20rpx;">{{ $lang('completionTime', { time: item.g3 }) }}</view>
<view style="font-size:24rpx;color:#888;padding-top:20rpx;">{{ $lang('cases.index.completionTime', { time: item.g3 }) }}</view>
<block v-if="item.$orig.files_url">
<view @tap="toDetail(item.$orig)" class="item">
<view class="article-img">
@@ -28,7 +28,7 @@
<view class="info-wrap">
<view class="title">{{item.$orig.files_title}}</view>
<view class="read-wrap">
<text>{{ $lang('viewPdfFile') }}</text>
<text>{{ $lang('cases.index.viewPdfFile') }}</text>
</view>
</view>
</view>
@@ -44,28 +44,28 @@
<uni-popup ref="informationPopup" class="vue-ref" type="bottom" @change="change">
<view class="liuyan-popup-layer popup-layer">
<view @tap="closeinformationPopup" class="head-wrap">
<text>{{ $lang('messagePopup.title') }}</text>
<text>{{ $lang('cases.index.messagePopup.title') }}</text>
<text class="iconfont icon-close"></text>
</view>
<scroll-view class="liuyan-body" scroll-y="true">
<view style="padding:0 30rpx;">
<view class="fui-cell-group">
<view class="fui-cell">
<view class="fui-cell-label">{{ $lang('form.name') }}</view>
<view class="fui-cell-label">{{ $lang('cases.index.form.name') }}</view>
<view class="fui-cell-info">
<input class="fui-input" :placeholder="$lang('form.namePlaceholder')" v-model="Form.realname" />
<input class="fui-input" :placeholder="$lang('cases.index.form.namePlaceholder')" v-model="Form.realname" />
</view>
</view>
<view class="fui-cell">
<view class="fui-cell-label">{{ $lang('form.contact') }}</view>
<view class="fui-cell-label">{{ $lang('cases.index.form.contact') }}</view>
<view class="fui-cell-info">
<input class="fui-input" maxlength="11" :placeholder="$lang('form.mobilePlaceholder')" type="number" v-model="Form.mobile" />
<input class="fui-input" maxlength="11" :placeholder="$lang('cases.index.form.mobilePlaceholder')" type="number" v-model="Form.mobile" />
</view>
</view>
<view class="fui-cell">
<view class="fui-cell-label" style="position:absolute;top:10px;">{{ $lang('form.messageContent') }}</view>
<view class="fui-cell-label" style="position:absolute;top:10px;">{{ $lang('cases.index.form.messageContent') }}</view>
<view class="fui-cell-info" style="margin-left:160rpx;border:solid 2rpx #eee;">
<textarea class="textarea" style="font-size:28rpx;padding:10rpx;" :placeholder="$lang('form.messagePlaceholder')" v-model="Form.remark"></textarea>
<textarea class="textarea" style="font-size:28rpx;padding:10rpx;" :placeholder="$lang('cases.index.form.messagePlaceholder')" v-model="Form.remark"></textarea>
</view>
</view>
</view>
@@ -140,7 +140,7 @@ export default {
},
toDetail(item) {
const url = item.files_url;
uni.showLoading({ title: this.$lang('toast.loading') });
uni.showLoading({ title: this.$lang('cases.index.toast.loading') });
try {
uni.downloadFile({
url: url,
@@ -164,7 +164,7 @@ export default {
},
complete: (res) => {
if (res.statusCode === 404) {
uni.showToast({ title: this.$lang('toast.fileNotExist'), icon: "none" });
uni.showToast({ title: this.$lang('cases.index.toast.fileNotExist'), icon: "none" });
}
}
});
@@ -186,7 +186,7 @@ export default {
},
onTapDoc(item) {
const url = this.$util.img(item.files_url);
uni.showLoading({ title: this.$lang('toast.loading') });
uni.showLoading({ title: this.$lang('cases.index.toast.loading') });
try {
uni.downloadFile({
url: url,
@@ -210,7 +210,7 @@ export default {
},
complete: (res) => {
if (res.statusCode === 404) {
uni.showToast({ title: this.$lang('toast.fileNotExist'), icon: "none" });
uni.showToast({ title: this.$lang('cases.index.toast.fileNotExist'), icon: "none" });
}
}
});
@@ -220,7 +220,7 @@ export default {
},
share(item) {
const url = this.$util.img(item.files_url);
uni.showLoading({ title: this.$lang('toast.loading') });
uni.showLoading({ title: this.$lang('cases.index.toast.loading') });
try {
uni.downloadFile({
url: url,
@@ -241,7 +241,7 @@ export default {
},
complete: (res) => {
if (res.statusCode === 404) {
uni.showToast({ title: this.$lang('toast.fileNotExist'), icon: "none" });
uni.showToast({ title: this.$lang('cases.index.toast.fileNotExist'), icon: "none" });
}
}
});

View File

@@ -147,7 +147,7 @@
<view class="fui-cell-info">
<input id="input-realname" :value="Form.realname"
@input="e => Form.realname = e.detail.value" class="fui-input"
:placeholder="$lang('pleaseEnterName')" :key="formKey" />
:placeholder="$lang('contact.contact.pleaseEnterName')" :key="formKey" />
</view>
</view>
<view class="fui-cell ">
@@ -155,7 +155,7 @@
<view class="fui-cell-info">
<input id="input-mobile" :value="Form.mobile"
@input="e => Form.mobile = e.detail.value" class="fui-input" maxlength="11"
:placeholder="$lang('pleaseEnterMobile')" type="number" :key="formKey" />
:placeholder="$lang('contact.contact.pleaseEnterMobile')" type="number" :key="formKey" />
</view>
</view>
<view class="fui-cell ">
@@ -165,7 +165,7 @@
<!-- <input v-model="Form.mailbox" class="fui-input" placeholder="请输入您的邮箱" type="text" ></input> -->
<textarea id="textarea-remark" :value="Form.remark"
@input="e => Form.remark = e.detail.value" class="textarea"
:placeholder="$lang('pleaseEnterMessage')"
:placeholder="$lang('contact.contact.pleaseEnterMessage')"
style="font-size: 28rpx;padding: 10rpx;" :key="formKey"></textarea>
</view>
</view>
@@ -311,11 +311,11 @@ export default {
// 如果后台没配置,用默认值
this.mpShareData = {
appMessage: {
title: this.$lang('contactUs'),
title: this.$lang('contact.contact.contactUs'),
path: '/pages_tool/contact/contact'
},
timeLine: {
title: this.$lang('contactUs'),
title: this.$lang('contact.contact.contactUs'),
query: ''
}
};
@@ -351,7 +351,7 @@ export default {
this.currentVideo = video;
this.$refs.videoPlayerPopup.open();
} else {
uni.showToast({ title: this.$lang('videoUrlNotExist'), icon: 'none' });
uni.showToast({ title: this.$lang('contact.contact.videoUrlNotExist'), icon: 'none' });
}
},
@@ -369,22 +369,22 @@ export default {
},
save() {
if (!this.Form.realname.trim()) {
uni.showToast({ title: this.$lang('pleaseFillName'), icon: 'none' });
uni.showToast({ title: this.$lang('contact.contact.pleaseFillName'), icon: 'none' });
return;
}
if (!this.Form.mobile || !/^1[3-9]\d{9}$/.test(this.Form.mobile)) {
uni.showToast({ title: this.$lang('invalidMobileFormat'), icon: 'none' });
uni.showToast({ title: this.$lang('contact.contact.invalidMobileFormat'), icon: 'none' });
return;
}
if (!this.Form.remark.trim()) {
uni.showToast({ title: this.$lang('pleaseFillMessage'), icon: 'none' });
uni.showToast({ title: this.$lang('contact.contact.pleaseFillMessage'), icon: 'none' });
return;
}
this.$api.sendRequest({
url: '/api/member/message',
data: this.Form,
success: res => {
uni.showToast({ title: res.message || this.$lang('submitSuccess'), icon: 'success' });
uni.showToast({ title: res.message || this.$lang('contact.contact.submitSuccess'), icon: 'success' });
// 重置表单数据
@@ -402,7 +402,7 @@ export default {
// #endif
},
fail: () => {
uni.showToast({ title: this.$lang('submitFailed'), icon: 'none' });
uni.showToast({ title: this.$lang('contact.contact.submitFailed'), icon: 'none' });
}
});
},
@@ -459,31 +459,31 @@ export default {
},
copy(text) {
copyText(text, { copySuccess: this.$lang('copySuccess'), copyFailed: this.$lang('copyFailed') });
copyText(text, { copySuccess: this.$lang('contact.contact.copySuccess'), copyFailed: this.$lang('contact.contact.copyFailed') });
},
tomap() {
openLocation({
latitude: parseFloat(this.shop.latitude),
longitude: parseFloat(this.shop.longitude),
name: this.$lang('oneClickNavigation'),
name: this.$lang('contact.contact.oneClickNavigation'),
});
},
onShareAppMessage() {
return this.mpShareData?.appMessage || {
title: this.$lang('contactUs'),
title: this.$lang('contact.contact.contactUs'),
path: '/pages_tool/contact/contact'
};
},
onShareTimeline() {
return this.mpShareData?.timeLine || {
title: this.$lang('contactUs'),
title: this.$lang('contact.contact.contactUs'),
query: ''
};
},
onAddToFavorites() {
return {
title: this.$lang('contactUs'),
title: this.$lang('contact.contact.contactUs'),
path: '/pages_tool/contact/contact'
};
},

View File

@@ -2,7 +2,7 @@
<view>
<view class="search-wrap uni-flex uni-row">
<view class="flex-item input-wrap">
<input class="uni-input" maxlength="50" :placeholder="$lang('searchPlaceholder')" v-model="keyword" @confirm="search"
<input class="uni-input" maxlength="50" :placeholder="$lang('files.list.searchPlaceholder')" v-model="keyword" @confirm="search"
@input="__set_model($event, 'keyword')" />
<text class="iconfont icon-sousuo3" @tap="search"></text>
</view>
@@ -20,7 +20,7 @@
<view class="info-wrap">
<view class="title">{{ item.$orig.files_title }}</view>
<view class="read-wrap">
<text>{{ $lang('viewPdf') }}</text>
<text>{{ $lang('files.list.viewPdf') }}</text>
</view>
</view>
</view>
@@ -29,7 +29,7 @@
</block>
<block v-else>
<view class="empty-wrap">
<ns-empty :text="$lang('emptyText')" :isIndex="false"></ns-empty>
<ns-empty :text="$lang('files.list.emptyText')" :isIndex="false"></ns-empty>
</view>
</block>
</view>
@@ -116,7 +116,7 @@ export default {
},
toDetail(item) {
uni.showLoading({
title: this.$lang('loading')
title: this.$lang('files.list.loading')
})
try {
uni.downloadFile({
@@ -141,7 +141,7 @@ export default {
complete: res => {
if (res.statusCode === 404) {
uni.showToast({
title: this.$lang('fileNotExist'),
title: this.$lang('files.list.fileNotExist'),
icon: 'none'
})
}

View File

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

View File

@@ -3,20 +3,20 @@
<view class="iconfont icon-close" @click="navigateBack()"></view>
<view class="header-wrap">
<block v-if="stepShow == 0">
<view class="title">{{ $lang('find.step0Title') }}</view>
<view><text class="color-tip">{{ $lang('find.step0Tip') }}</text></view>
<view class="title">{{ $lang('login.find.step0Title') }}</view>
<view><text class="color-tip">{{ $lang('login.find.step0Tip') }}</text></view>
</block>
<block v-if="stepShow == 1">
<view class="title">{{ $lang('find.step1Title') }}</view>
<view class="title">{{ $lang('login.find.step1Title') }}</view>
<view>
<text class="color-tip">{{ $lang('find.step1Tip', { mobile: formData.mobile }) }}</text>
<text class="color-tip">{{ $lang('login.find.step1Tip', { mobile: formData.mobile }) }}</text>
</view>
</block>
<block v-if="stepShow == 2">
<view class="title">{{ $lang('find.step2Title') }}</view>
<view><text class="color-tip">{{ $lang('find.step2Tip') }}</text></view>
<view class="title">{{ $lang('login.find.step2Title') }}</view>
<view><text class="color-tip">{{ $lang('login.find.step2Tip') }}</text></view>
</block>
</view>
<view class="find-form">
@@ -29,7 +29,7 @@
type="text"
maxlength="17"
v-model="formData.mobile"
:placeholder="$lang('accountPlaceholder')"
:placeholder="$lang('login.find.accountPlaceholder')"
/>
</view>
@@ -39,13 +39,13 @@
placeholder-class="placeholder-class"
type="number"
maxlength="4"
:placeholder="$lang('captchaPlaceholder')"
:placeholder="$lang('login.find.captchaPlaceholder')"
v-model="formData.captcha"
/>
<image :src="captcha.img" class="captcha" @click="getCaptcha" show-menu-by-longpress></image>
</view>
<button type="primary" class="find-btn" @click="nextStep()">{{ $lang('next') }}</button>
<button type="primary" class="find-btn" @click="nextStep()">{{ $lang('login.find.next') }}</button>
</block>
<!-- 输入动态码 -->
@@ -62,7 +62,7 @@
type="text"
maxlength="30"
password="true"
:placeholder="$lang('passwordPlaceholder')"
:placeholder="$lang('login.login.passwordPlaceholder')"
v-model="formData.password"
/>
</view>
@@ -74,12 +74,12 @@
type="text"
maxlength="30"
password="true"
:placeholder="$lang('rePasswordPlaceholder')"
:placeholder="$lang('login.login.rePasswordPlaceholder')"
v-model="formData.rePassword"
/>
</view>
<button type="primary" class="find-btn" @click="save">{{ $lang('save') }}</button>
<button type="primary" class="find-btn" @click="save">{{ $lang('components.ns-login.save') }}</button>
</block>
</view>
</view>
@@ -117,7 +117,7 @@ export default {
};
},
onLoad() {
this.codeText = this.$lang('find.resendCode');
this.codeText = this.$lang('login.find.resendCode');
this.getCaptcha();
},
onShow() {
@@ -144,12 +144,12 @@ export default {
{
name: 'mobile',
checkType: 'phoneno',
errorMsg: this.$lang('find.mobileInvalid')
errorMsg: this.$lang('login.find.mobileInvalid')
},
{
name: 'captcha',
checkType: 'required',
errorMsg: this.$lang('captchaPlaceholder')
errorMsg: this.$lang('login.find.captchaPlaceholder')
}
], //手机验证
step0CheckRes;
@@ -167,7 +167,7 @@ export default {
});
if (res.code == 0) {
this.$util.showToast({
title: this.$lang('find.mobileNotRegistered')
title: this.$lang('login.find.mobileNotRegistered')
});
return false;
}
@@ -186,7 +186,7 @@ export default {
{
name: 'password',
checkType: 'required',
errorMsg: this.$lang('find.passwordRequired')
errorMsg: this.$lang('login.find.passwordRequired')
}
];
if (regConfig.pwd_len > 0) {
@@ -194,27 +194,27 @@ export default {
name: 'password',
checkType: 'lengthMin',
checkRule: regConfig.pwd_len,
errorMsg: this.$lang('find.passwordTooShort', { length: regConfig.pwd_len })
errorMsg: this.$lang('login.find.passwordTooShort', { length: regConfig.pwd_len })
});
}
if (regConfig.pwd_complexity != '') {
let passwordErrorMsg = this.$lang('find.passwordComplexityPrefix'),
let passwordErrorMsg = this.$lang('login.find.passwordComplexityPrefix'),
reg = '';
if (regConfig.pwd_complexity.indexOf('number') != -1) {
reg += '(?=.*?[0-9])';
passwordErrorMsg += this.$lang('find.complexityNumber');
passwordErrorMsg += this.$lang('login.find.complexityNumber');
}
if (regConfig.pwd_complexity.indexOf('letter') != -1) {
reg += '(?=.*?[a-z])';
passwordErrorMsg += this.$lang('find.complexityLowercase');
passwordErrorMsg += this.$lang('login.find.complexityLowercase');
}
if (regConfig.pwd_complexity.indexOf('upper_case') != -1) {
reg += '(?=.*?[A-Z])';
passwordErrorMsg += this.$lang('find.complexityUppercase');
passwordErrorMsg += this.$lang('login.find.complexityUppercase');
}
if (regConfig.pwd_complexity.indexOf('symbol') != -1) {
reg += '(?=.*?[#?!@$%^&*-])';
passwordErrorMsg += this.$lang('find.complexitySymbol');
passwordErrorMsg += this.$lang('login.find.complexitySymbol');
}
rule.push({
name: 'password',
@@ -228,7 +228,7 @@ export default {
if (checkRes) {
if (this.formData.password != this.formData.rePassword) {
this.$util.showToast({
title: this.$lang('find.passwordMismatch')
title: this.$lang('login.find.passwordMismatch')
});
return false;
}
@@ -259,7 +259,7 @@ export default {
async sendDynaCode() {
if (this.formData.captcha.length == 0) {
this.$util.showToast({
title: this.$lang('captchaPlaceholder')
title: this.$lang('login.find.captchaPlaceholder')
});
return;
}
@@ -284,7 +284,7 @@ export default {
if (this.seconds == 120 && this.timer == null) {
this.timer = setInterval(() => {
this.seconds--;
this.codeText = this.$lang('find.resendCountdown', { seconds: this.seconds });
this.codeText = this.$lang('login.find.resendCountdown', { seconds: this.seconds });
}, 1000);
}
uni.setStorageSync('forgot_password_token', data.key);
@@ -352,7 +352,7 @@ export default {
seconds(value) {
if (value == 0) {
this.seconds = 120;
this.codeText = this.$lang('find.resendCode');
this.codeText = this.$lang('login.find.resendCode');
this.isSend = false;
clearInterval(this.timer);
}

View File

@@ -3,7 +3,7 @@
<scroll-view scroll-y="false" class="container">
<view class="header-wrap" :style="{ backgroundImage: 'url(' + $util.img('public/uniapp/member/head.png') + ')' }">
<view class="t-b">
<div v-html="$lang('welcomeText')"></div>
<div v-html="$lang('login.login.welcomeText')"></div>
</view>
</view>
<view class="body-wrap">
@@ -11,29 +11,29 @@
<view class="input-wrap" v-show="loginMode == 'mobile'">
<view class="content">
<!-- <view class="area-code">+86</view> -->
<input type="number" :placeholder="$lang('mobileInputPlaceholder')"
<input type="number" :placeholder="$lang('login.login.mobileInputPlaceholder')"
placeholder-class="input-placeholder" class="input" maxlength="11"
v-model="formData.mobile" />
</view>
</view>
<view class="input-wrap" v-show="loginMode == 'account'">
<view class="content">
<input type="text" :placeholder="$lang('accountInputPlaceholder')"
<input type="text" :placeholder="$lang('login.login.accountInputPlaceholder')"
placeholder-class="input-placeholder" class="input" v-model="formData.account" />
</view>
</view>
<view class="input-wrap" v-show="loginMode == 'account'">
<view class="content">
<input type="password" :placeholder="$lang('passwordInputPlaceholder')"
<input type="password" :placeholder="$lang('login.login.passwordInputPlaceholder')"
placeholder-class="input-placeholder" class="input" v-model="formData.password" />
<view class="align-right" v-show="loginMode == 'account'">
<text @tap="forgetPassword">{{ $lang('forgetPasswordText') }}</text>
<text @tap="forgetPassword">{{ $lang('login.login.forgetPasswordText') }}</text>
</view>
</view>
</view>
<view class="input-wrap" v-show="loginMode == 'mobile'">
<view class="content">
<input type="text" :placeholder="$lang('dynacodeInputPlaceholder')"
<input type="text" :placeholder="$lang('login.login.dynacodeInputPlaceholder')"
placeholder-class="input-placeholder" class="input" v-model="formData.dynacode" />
<view class="dynacode"
:class="dynacodeData.seconds == 120 ? 'color-base-text' : 'color-tip'"
@@ -44,7 +44,7 @@
<view class="btn_view">
<button type="primary" @tap="login" class="login-btn color-base-border color-base-bg"
style="background: #2796f2 !important;border: none;">{{ $lang('loginButtonText') }}</button>
style="background: #2796f2 !important;border: none;">{{ $lang('login.login.loginButtonText') }}</button>
</view>
<view class="regisiter-agreement"
style="margin: 0 50rpx;padding-top: 40rpx;line-height: 1.5;display: flex;">
@@ -54,11 +54,11 @@
@tap="isAgree = !isAgree"></view>
<!-- #endif -->
<view style="text-align: left;margin-left: 10rpx;padding-top: 2rpx;">{{
$lang('registerAgreementText') }} <text
$lang('login.login.registerAgreementText') }} <text
@tap="tourl('/pages_tool/agreement/contenr?type=0')"
style="color:#4395ff">{{ $lang('privacyPolicyText') }}</text> <text
style="color:#4395ff">{{ $lang('login.login.privacyPolicyText') }}</text> <text
@tap="tourl('/pages_tool/agreement/contenr?type=1')"
style="color:#4395ff">{{ $lang('userServiceAgreementText') }}</text></view>
style="color:#4395ff">{{ $lang('login.login.userServiceAgreementText') }}</text></view>
</view>
</view>
<loading-cover ref="loadingCover"></loading-cover>
@@ -197,7 +197,7 @@ export default {
// #ifndef MP-HARMONY
if (!this.isAgree) {
this.$util.showToast({
title: this.$lang('agreeAgreementTip')
title: this.$lang('login.login.agreeAgreementTip')
});
return false;
}
@@ -237,7 +237,7 @@ export default {
this.getMemberInfo(() => {
if (can_receive_registergift == 1) {
this.$util.showToast({
title: this.$lang('loginSuccessTip')
title: this.$lang('login.login.loginSuccessTip')
});
let back = this.back ? this.back : this.$util.MEMBER_PAGE_URL;
if (this.$refs.registerReward) this.$refs.registerReward.open(back);
@@ -275,23 +275,23 @@ export default {
rule = [{
name: 'mobile',
checkType: 'required',
errorMsg: this.$lang('enterMobileTip')
errorMsg: this.$lang('login.login.enterMobileTip')
}, {
name: 'mobile',
checkType: 'phoneno',
errorMsg: this.$lang('enterCorrectMobileTip')
errorMsg: this.$lang('login.login.enterCorrectMobileTip')
}];
if (this.captchaConfig == 1) {
if (this.captcha.id != '') rule.push({
name: 'captcha_code',
checkType: 'required',
errorMsg: this.$lang('captchaPlaceholder')
errorMsg: this.$lang('login.login.captchaPlaceholder')
});
}
rule.push({
name: 'code',
checkType: 'required',
errorMsg: this.$lang('dynacodePlaceholder')
errorMsg: this.$lang('login.login.dynacodePlaceholder')
});
}
@@ -300,19 +300,19 @@ export default {
rule = [{
name: 'username',
checkType: 'required',
errorMsg: this.$lang('accountPlaceholder')
errorMsg: this.$lang('login.login.accountPlaceholder')
},
{
name: 'password',
checkType: 'required',
errorMsg: this.$lang('passwordPlaceholder')
errorMsg: this.$lang('login.login.passwordPlaceholder')
}
];
if (this.captchaConfig == 1) {
if (this.captcha.id != '') rule.push({
name: 'captcha_code',
checkType: 'required',
errorMsg: this.$lang('captchaPlaceholder')
errorMsg: this.$lang('login.login.captchaPlaceholder')
});
}
}
@@ -374,7 +374,7 @@ export default {
fail: res => {
this.isSub = false;
this.$util.showToast({
title: this.$lang('requestFailTip')
title: this.$lang('login.login.requestFailTip')
});
}
});
@@ -403,7 +403,7 @@ export default {
rule.push({
name: 'captcha_code',
checkType: 'required',
errorMsg: this.$lang('enterCaptchaTip')
errorMsg: this.$lang('login.login.enterCaptchaTip')
});
}
var checkRes = validate.check(data, rule);

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">{{ $lang('withdrawToBalance') }}</view>
<view class="title-text">{{ $lang('member.account.withdrawToBalance') }}</view>
</view>
</view>
</view>
@@ -22,19 +22,19 @@
</view>
<view class="content-bottom">
<block v-if="item.withdraw_type == 'alipay'">
{{ $lang('withdrawalAccountLabel', { account: item.bank_account }) }}
{{ $lang('member.account.withdrawalAccountLabel', { account: item.bank_account }) }}
</block>
<block v-if="item.withdraw_type == 'bank'">
{{ $lang('bankNameLabel', { bankName: item.branch_bank_name }) }}
{{ $lang('member.account.bankNameLabel', { bankName: item.branch_bank_name }) }}
</block>
</view>
</view>
<view class="item-btn" @click.stop="editAccount('edit', item.id)">{{ $lang('update') }}</view>
<view class="item-btn" @click.stop="editAccount('edit', item.id)">{{ $lang('member.account.update') }}</view>
</view>
<view class="item-bottom">
<view class="account-default" @click="setDefault(item.id, item.is_default)">
<text class="default">{{ $lang('setAsDefault') }}</text>
<text class="default">{{ $lang('member.account.setAsDefault') }}</text>
<switch v-if="item.is_default == 1" checked disabled style="transform:scale(0.7)"
:color="themeStyle.main_color" />
<switch v-else style="transform:scale(0.7)" :color="themeStyle.main_color" />
@@ -52,14 +52,14 @@
v-if="dataList.length <= 0 && (type != 'fenxiao' || (type == 'fenxiao' && payList && !payList.balance))"
class="empty-box">
<image :src="$util.img('public/uniapp/member/account/empty.png')" mode="widthFix" show-menu-by-longpress></image>
<view class="tips">{{ $lang('emptyTip') }}</view>
<button type="primary" class="add-account" @click="editAccount('add')">{{ $lang('newAddAccount')
<view class="tips">{{ $lang('member.account.emptyTip') }}</view>
<button type="primary" class="add-account" @click="editAccount('add')">{{ $lang('member.account.newAddAccount')
}}</button>
</view>
</block>
</mescroll-uni>
<view class="btn-add" v-if="dataList.length > 0 || (type == 'fenxiao' && payList && payList.balance)">
<button class="add-account" type="primary" @click="editAccount('add')">{{ $lang('newAddAccount') }}</button>
<button class="add-account" type="primary" @click="editAccount('add')">{{ $lang('member.account.newAddAccount') }}</button>
</view>
<loading-cover ref="loadingCover"></loading-cover>
<ns-login ref="login"></ns-login>
@@ -101,8 +101,8 @@ export default {
},
deleteAccount(id) {
uni.showModal({
title: this.$lang('operationTip'),
content: this.$lang('confirmDeleteAccount'),
title: this.$lang('member.account.operationTip'),
content: this.$lang('member.account.confirmDeleteAccount'),
success: res => {
if (res.confirm) {
this.$api.sendRequest({
@@ -113,12 +113,12 @@ export default {
success: result => {
if (result.code == 0) {
this.$util.showToast({
title: this.$lang('deleteSuccess')
title: this.$lang('member.account.deleteSuccess')
});
this.$refs.mescroll.refresh();
} else {
this.$util.showToast({
title: this.$lang('deleteFailed')
title: this.$lang('member.account.deleteFailed')
});
}
}
@@ -179,9 +179,9 @@ export default {
this.dataList = this.dataList.concat(newArr); //追加新数据
let withdrawType = {
bank: this.$lang('withdrawTypeBank'),
alipay: this.$lang('withdrawTypeAlipay'),
wechatpay: this.$lang('withdrawTypeWechat')
bank: this.$lang('member.account.withdrawTypeBank'),
alipay: this.$lang('member.account.withdrawTypeAlipay'),
wechatpay: this.$lang('member.account.withdrawTypeWechat')
};
this.dataList.forEach(item => {

View File

@@ -1,30 +1,30 @@
<template>
<view class="account-list-content" :style="themeColor">
<view class="edit-item">
<text class="tit">{{ $lang('name') }}</text>
<input class="desc uni-input" type="text" maxlength="30" :placeholder="$lang('namePlaceholder')" name="name" v-model="formData.realname" />
<text class="tit">{{ $lang('member.account_edit.name') }}</text>
<input class="desc uni-input" type="text" maxlength="30" :placeholder="$lang('member.account_edit.namePlaceholder')" name="name" v-model="formData.realname" />
</view>
<view class="edit-item">
<text class="tit">{{ $lang('mobilePhone') }}</text>
<input class="desc uni-input" type="number" maxlength="11" :placeholder="$lang('mobilePhonePlaceholder')" v-model="formData.mobile" />
<text class="tit">{{ $lang('member.account_edit.mobilePhone') }}</text>
<input class="desc uni-input" type="number" maxlength="11" :placeholder="$lang('member.account_edit.mobilePhonePlaceholder')" v-model="formData.mobile" />
</view>
<view class="edit-item">
<text class="tit">{{ $lang('accountType') }}</text>
<text class="tit">{{ $lang('member.account_edit.accountType') }}</text>
<picker @change="bindPickerChange" :value="index" :range="payList" class="picker">
<text class="desc uni-input">{{ payList[index] }}</text>
<text class="iconfont icon-right"></text>
</picker>
</view>
<view class="edit-item" v-if="formData.withdraw_type == 'bank'">
<text class="tit">{{ $lang('bankName') }}</text>
<input class="desc uni-input" type="text" maxlength="50" :placeholder="$lang('bankNamePlaceholder')" v-model.trim="formData.branch_bank_name" />
<text class="tit">{{ $lang('member.account_edit.bankName') }}</text>
<input class="desc uni-input" type="text" maxlength="50" :placeholder="$lang('member.account_edit.bankNamePlaceholder')" v-model.trim="formData.branch_bank_name" />
</view>
<view class="edit-item" v-if="formData.withdraw_type != 'wechatpay'">
<text class="tit">{{ $lang('withdrawalAccount') }}</text>
<input class="desc uni-input" type="text" maxlength="30" :placeholder="$lang('withdrawalAccountPlaceholder')" v-model.trim="formData.bank_account" />
<text class="tit">{{ $lang('member.account_edit.withdrawalAccount') }}</text>
<input class="desc uni-input" type="text" maxlength="30" :placeholder="$lang('member.account_edit.withdrawalAccountPlaceholder')" v-model.trim="formData.bank_account" />
</view>
<view class="btn">
<button type="primary" class="add" @click="saveAccount">{{ $lang('save') }}</button>
<button type="primary" class="add" @click="saveAccount">{{ $lang('member.account_edit.save') }}</button>
</view>
<loading-cover ref="loadingCover"></loading-cover>
</view>
@@ -63,9 +63,9 @@ export default {
this.getTransferType();
}
if (this.formData.id) {
this.$langConfig.title(this.$lang('title'));
this.$langConfig.title(this.$lang('member.account_edit.title'));
} else {
this.$langConfig.title(this.$lang('addTitle'));
this.$langConfig.title(this.$lang('member.account_edit.addTitle'));
}
},
methods: {
@@ -156,36 +156,36 @@ export default {
{
name: 'realname',
checkType: 'required',
errorMsg: this.$lang('pleaseEnterName')
errorMsg: this.$lang('member.account_edit.pleaseEnterName')
},
{
name: 'mobile',
checkType: 'required',
errorMsg: this.$lang('pleaseEnterMobile')
errorMsg: this.$lang('member.account_edit.pleaseEnterMobile')
},
{
name: 'mobile',
checkType: 'phoneno',
errorMsg: this.$lang('pleaseEnterValidMobile')
errorMsg: this.$lang('member.account_edit.pleaseEnterValidMobile')
},
{
name: 'withdraw_type',
checkType: 'required',
errorMsg: this.$lang('pleaseSelectAccountType')
errorMsg: this.$lang('member.account_edit.pleaseSelectAccountType')
}
];
if (this.formData.withdraw_type == 'bank') {
rule.push({
name: 'branch_bank_name',
checkType: 'required',
errorMsg: this.$lang('pleaseEnterBankName')
errorMsg: this.$lang('member.account_edit.pleaseEnterBankName')
});
}
if (this.formData.withdraw_type != 'wechatpay') {
rule.push({
name: 'bank_account',
checkType: 'required',
errorMsg: this.$lang('pleaseEnterWithdrawalAccount')
errorMsg: this.$lang('member.account_edit.pleaseEnterWithdrawalAccount')
});
}
var checkRes = validate.check(this.formData, rule);
@@ -219,11 +219,11 @@ export default {
if (res.code == 0) {
if (!this.formData.id) {
this.$util.showToast({
title: this.$lang('addSuccess')
title: this.$lang('member.account_edit.addSuccess')
});
} else {
this.$util.showToast({
title: this.$lang('editSuccess')
title: this.$lang('member.account_edit.editSuccess')
});
}
if (this.back != '') {

View File

@@ -16,7 +16,7 @@
<view class="address-info">{{ item.full_address }}{{ item.address }}</view>
</view>
<view class="address-item-edit" @click="addAddress('edit', item.id)">
{{ $lang('modify') }}
{{ $lang('member.address.modify') }}
</view>
</view>
@@ -29,14 +29,14 @@
<view class="address-info">{{ item.full_address }}{{ item.address }}</view>
</view>
<view class="address-item-edit" @click.stop="addAddress('edit', item.id)">
{{ $lang('modify') }}
{{ $lang('member.address.modify') }}
</view>
</view>
<view class="address-item-bottom">
<view class="address-default" @click="setDefault(item.id, item.is_default)">
<text class="default" v-if="localType == 2 && item.local_data">{{ $lang('setAsDefault') }}</text>
<text class="default" v-else>{{ $lang('setAsDefault') }}</text>
<text class="default" v-if="localType == 2 && item.local_data">{{ $lang('member.address.setAsDefault') }}</text>
<text class="default" v-else>{{ $lang('member.address.setAsDefault') }}</text>
<switch v-if="item.is_default == 1" checked disabled style="transform:scale(0.7)"
:color="themeStyle.main_color" />
<switch v-else style="transform:scale(0.7)" :color="themeStyle.main_color" />
@@ -54,19 +54,19 @@
<view v-if="addressList.length == 0 && showEmpty" class="empty-box">
<image :src="$util.img('public/uniapp/member/address/empty.png')" mode="widthFix" show-menu-by-longpress/>
<view class="tips">{{ $lang('emptyTip') }}</view>
<view class="tips">{{ $lang('member.address.emptyTip') }}</view>
<button type="primary" class="add-address" @click="addAddress('add')">{{ $lang('newAddAddress')
<button type="primary" class="add-address" @click="addAddress('add')">{{ $lang('member.address.newAddAddress')
}}</button>
<!-- #ifdef H5 -->
<button type="primary" class="get-address" @click="getChooseAddress()"
v-if="$util.isWeiXin() && local != 1">{{
$lang('getAddress') }}</button>
$lang('member.address.getAddress') }}</button>
<!-- #endif -->
<!-- #ifdef MP-WEIXIN || MP-BAIDU || MP-TOUTIAO -->
<button type="primary" class="get-address" @click="getChooseAddress()" v-if="local != 1">{{
$lang('getAddress')
$lang('member.address.getAddress')
}}</button>
<!-- #endif -->
</view>
@@ -77,17 +77,17 @@
<view class="btn-add" v-if="addressList.length !== 0">
<!-- #ifdef MP-WEIXIN -->
<view class="wx-add" @click="getChooseAddress()" v-if="local != 1">
<text>{{ $lang('getAddress') }}</text>
<text>{{ $lang('member.address.getAddress') }}</text>
</view>
<!-- #endif -->
<!-- #ifdef H5 -->
<button type="primary" class="add-address" @click="getChooseAddress()"
v-if="$util.isWeiXin() && local != 1">{{
$lang('getAddress') }}</button>
$lang('member.address.getAddress') }}</button>
<!-- #endif -->
<button type="primary" class="add-address" @click="addAddress('add')">
<text class="iconfont icon-add1"></text>
{{ $lang('newAddAddress') }}
{{ $lang('member.address.newAddAddress') }}
</button>
</view>
@@ -190,13 +190,13 @@ export default {
/* 删除地址信息 */
deleteAddress(id, is_default) {
uni.showModal({
title: this.$lang('operationTip'),
content: this.$lang('confirmDelete'),
title: this.$lang('member.address.operationTip'),
content: this.$lang('member.address.confirmDelete'),
success: res => {
if (res.confirm) {
if (is_default == 1) {
this.$util.showToast({
title: this.$lang('cannotDeleteDefault')
title: this.$lang('member.address.cannotDeleteDefault')
});
return;
}
@@ -208,11 +208,11 @@ export default {
success: res => {
if (res.code == 0) {
this.$util.showToast({
title: this.$lang('deleteSuccess')
title: this.$lang('member.address.deleteSuccess')
});
} else {
this.$util.showToast({
title: this.$lang('deleteFail')
title: this.$lang('member.address.deleteFail')
});
}
this.$refs.mescroll.refresh();
@@ -242,7 +242,7 @@ export default {
this.addressList = [];
this.$refs.mescroll.refresh();
this.$util.showToast({
title: this.$lang('setDefaultSuccess')
title: this.$lang('member.address.setDefaultSuccess')
});
}
} else {
@@ -288,7 +288,7 @@ export default {
});
} else {
this.$util.showToast({
title: res.errMsg == 'openAddress:function not implement' ? this.$lang('pcWechatNotSupportGetAddress') : res.errMsg
title: res.errMsg == 'openAddress:function not implement' ? this.$lang('member.address.pcWechatNotSupportGetAddress') : res.errMsg
});
}
});

View File

@@ -1,35 +1,35 @@
<template>
<view class="address-edit-content" :style="themeColor">
<view class="edit-wrap">
<view class="tip">{{ $lang('member.addressEdit.addressInfo') }}</view>
<view class="tip">{{ $lang('member.address_edit.member.addressEdit.addressInfo') }}</view>
<view class="edit-item">
<text class="tit">
{{ $lang('consignee') }}
{{ $lang('member.address_edit.consignee') }}
<text>*</text>
</text>
<input
class="uni-input"
type="text"
placeholder-class="placeholder-class"
:placeholder="$lang('consigneePlaceholder')"
:placeholder="$lang('member.address_edit.consigneePlaceholder')"
maxlength="30"
name="name"
v-model="formData.name" />
</view>
<view class="edit-item">
<text class="tit">
{{ $lang('mobile') }}
{{ $lang('member.address_edit.mobile') }}
<text>*</text>
</text>
<input class="uni-input" type="number" placeholder-class="placeholder-class" :placeholder="$lang('mobilePlaceholder')" maxlength="11" v-model="formData.mobile" />
<input class="uni-input" type="number" placeholder-class="placeholder-class" :placeholder="$lang('member.address_edit.mobilePlaceholder')" maxlength="11" v-model="formData.mobile" />
</view>
<view class="edit-item">
<text class="tit">{{ $lang('telephone') }}</text>
<text class="tit">{{ $lang('member.address_edit.telephone') }}</text>
<input
class="uni-input"
type="text"
placeholder-class="placeholder-class"
:placeholder="$lang('telephonePlaceholder')"
:placeholder="$lang('member.address_edit.telephonePlaceholder')"
maxlength="20"
v-model="formData.telephone" />
</view>
@@ -37,11 +37,11 @@
<block v-if="localType == 2">
<view class="edit-item">
<text class="tit">
{{ $lang('receivingCity') }}
{{ $lang('member.address_edit.receivingCity') }}
<text>*</text>
</text>
<view class="text_inp" :class="{ empty: !formData.full_address, 'color-tip': !formData.full_address }" @click="selectAddress">
{{ formData.full_address ? formData.full_address : $lang('member.addressEdit.selectRegionPlaceholder') }}
{{ formData.full_address ? formData.full_address : $lang('member.address_edit.member.addressEdit.selectRegionPlaceholder') }}
</view>
<text @click="selectAddress" class="padding-left iconfont icon-location"></text>
@@ -50,12 +50,12 @@
<block v-else>
<view class="edit-item">
<text class="tit">
{{ $lang('receivingCity') }}
{{ $lang('member.address_edit.receivingCity') }}
<text>*</text>
</text>
<pick-regions :default-regions="defaultRegions" @getRegions="handleGetRegions">
<text class="select-address " :class="{ empty: !formData.full_address, 'color-tip': !formData.full_address }">
{{ formData.full_address ? formData.full_address : $lang('member.addressEdit.selectRegionPlaceholder') }}
{{ formData.full_address ? formData.full_address : $lang('member.address_edit.member.addressEdit.selectRegionPlaceholder') }}
</text>
</pick-regions>
</view>
@@ -63,15 +63,15 @@
<view class="edit-item">
<text class="tit" style="">
{{ $lang('address') }}
{{ $lang('member.address_edit.address') }}
<text>*</text>
</text>
<input class="uni-input" type="text" placeholder-class="placeholder-class" :placeholder="$lang('addressPlaceholder')" maxlength="50" v-model="formData.address" />
<!-- <textarea class="uni-input " type="text" placeholder-class="placeholder-class" :placeholder="$lang('addressPlaceholder')" maxlength="50" v-model="formData.address" ></textarea> -->
<input class="uni-input" type="text" placeholder-class="placeholder-class" :placeholder="$lang('member.address_edit.addressPlaceholder')" maxlength="50" v-model="formData.address" />
<!-- <textarea class="uni-input " type="text" placeholder-class="placeholder-class" :placeholder="$lang('member.address_edit.addressPlaceholder')" maxlength="50" v-model="formData.address" ></textarea> -->
</view>
</view>
<view class="btn">
<button type="primary" class="add" @click="saveAddress">{{ $lang('save') }}</button>
<button type="primary" class="add" @click="saveAddress">{{ $lang('member.address_edit.save') }}</button>
</view>
<loading-cover ref="loadingCover"></loading-cover>
@@ -134,9 +134,9 @@
},
onShow() {
if (this.formData.id) {
this.$langConfig.title(this.$lang('title'));
this.$langConfig.title(this.$lang('member.address_edit.title'));
} else {
this.$langConfig.title(this.$lang('addTitle'));
this.$langConfig.title(this.$lang('member.address_edit.addTitle'));
}
},
onReady() {
@@ -193,7 +193,7 @@
this.addressValue += res.data.district_id != undefined ? '-' + res.data.district_id : '';
} else {
this.showToast({
title: this.$lang('member.addressEdit.dataError')
title: this.$lang('member.address_edit.member.addressEdit.dataError')
});
}
}
@@ -292,27 +292,27 @@
var rule = [{
name: 'name',
checkType: 'required',
errorMsg: this.$lang('member.addressEdit.pleaseEnterName')
errorMsg: this.$lang('member.address_edit.member.addressEdit.pleaseEnterName')
},
{
name: 'mobile',
checkType: 'required',
errorMsg: this.$lang('member.addressEdit.pleaseEnterMobile')
errorMsg: this.$lang('member.address_edit.member.addressEdit.pleaseEnterMobile')
},
{
name: 'mobile',
checkType: 'phoneno',
errorMsg: this.$lang('member.addressEdit.pleaseEnterValidMobile')
errorMsg: this.$lang('member.address_edit.member.addressEdit.pleaseEnterValidMobile')
},
{
name: 'full_address',
checkType: 'required',
errorMsg: this.$lang('member.addressEdit.pleaseSelectRegion')
errorMsg: this.$lang('member.address_edit.member.addressEdit.pleaseSelectRegion')
},
{
name: 'address',
checkType: 'required',
errorMsg: this.$lang('member.addressEdit.addressRequired')
errorMsg: this.$lang('member.address_edit.member.addressEdit.addressRequired')
}
];
var checkRes = validate.check(this.formData, rule);

View File

@@ -60,10 +60,10 @@
<!-- <view class="action">
<view @click="toList" class="recharge-withdraw" v-if="addonIsExist.memberrecharge && memberrechargeConfig && memberrechargeConfig.is_use">
{{ $lang('recharge') }}
{{ $lang('member.balance.recharge') }}
</view>
<view class="withdraw" v-if="addonIsExist.memberwithdraw && withdrawConfig && withdrawConfig.is_use" @click="toWithdrawal">
{{ $lang('withdrawal') }}
{{ $lang('member.balance.withdrawal') }}
</view>
</view> -->
<ns-login ref="login"></ns-login>

View File

@@ -38,12 +38,12 @@
</view>
<view class="balances-num">
<text :class="item.account_data > 0 ? 'color-base-text' : ''">{{ (item.account_data > 0 ?
'+' + item.account_data : item.account_data) + $lang('yuan') }}</text>
'+' + item.account_data : item.account_data) + $lang('member.balance_detail.yuan') }}</text>
</view>
</view>
</view>
</block>
<block v-else><ns-empty :isIndex="false" :text="$lang('emptyTips')"></ns-empty></block>
<block v-else><ns-empty :isIndex="false" :text="$lang('member.balance_detail.emptyTips')"></ns-empty></block>
<!-- 无明细列表 -->
</block>
</mescroll-uni>
@@ -62,13 +62,13 @@ export default {
return {
dataList: [],
statusList: [{
name: this.$lang('filterAll'),
name: this.$lang('member.balance_detail.filterAll'),
id: '0'
}, {
name: this.$lang('filterIncome'),
name: this.$lang('member.balance_detail.filterIncome'),
id: '1'
}, {
name: this.$lang('filterExpense'),
name: this.$lang('member.balance_detail.filterExpense'),
id: '2'
}],
scrollInto: '',
@@ -79,7 +79,7 @@ export default {
date: ''
},
balanceType: [{
label: this.$lang('filterAll'),
label: this.$lang('member.balance_detail.filterAll'),
value: '0'
}], //积分类型
balanceIndex: 0,
@@ -103,7 +103,7 @@ export default {
bindDateChange: function (e) {
var temp = e.target.value;
var tempArr = temp.split('-');
this.date = this.$lang('dateFormatYM', { year: tempArr[0], month: tempArr[1] });
this.date = this.$lang('member.balance_detail.dateFormatYM', { year: tempArr[0], month: tempArr[1] });
this.searchType.date = e.target.value;
this.$refs.mescroll.refresh();
},
@@ -120,7 +120,7 @@ export default {
}
month = month > 9 ? month : '0' + month;
day = day > 9 ? day : '0' + day;
return this.$lang('dateFormatYM', { year, month });
return this.$lang('member.balance_detail.dateFormatYM', { year, month });
},
bindPickerChange(e) {
this.balanceIndex = e.detail.value;
@@ -134,7 +134,7 @@ export default {
success: res => {
let balanceType = Object.assign(res.balance, res.balance_money),
typeArr = [{
label: this.$lang('filterAll'),
label: this.$lang('member.balance_detail.filterAll'),
value: '0'
}];
for (var index in balanceType) {

View File

@@ -5,14 +5,14 @@
<!-- #ifdef MP -->
<view v-if="!showManualForm" class="bind-wrap">
<view class="bind-tip">
<view class="tip-title">{{ $lang('bindMobile.tipTitle') }}</view>
<view class="tip-desc">{{ $lang('bindMobile.bindBenefitTip') }}</view>
<view class="tip-title">{{ $lang('member.bind_mobile.tipTitle') }}</view>
<view class="tip-desc">{{ $lang('member.bind_mobile.bindBenefitTip') }}</view>
</view>
<view class="save-item bind-mobile">
<button type="primary" open-type="getPhoneNumber" @getphonenumber="mobileAuth">{{ $lang('bindMobile.oneClickAuthBind') }}</button>
<button type="primary" open-type="getPhoneNumber" @getphonenumber="mobileAuth">{{ $lang('member.bind_mobile.oneClickAuthBind') }}</button>
</view>
<view class="save-item bind-mobile">
<button type="primary" @click="showManualForm = true">{{ $lang('bindMobile.manualBind') }}</button>
<button type="primary" @click="showManualForm = true">{{ $lang('member.bind_mobile.manualBind') }}</button>
</view>
</view>
<!-- #endif -->
@@ -21,25 +21,25 @@
<view class="edit-info">
<!-- #ifdef MP -->
<view v-if="showManualForm" class="form-switch-back" @click="showManualForm = false">
<text>{{ $lang('bindMobile.oneClickAuthBind') }}</text>
<text>{{ $lang('member.bind_mobile.oneClickAuthBind') }}</text>
</view>
<!-- #endif -->
<view class="edit-info-box">
<text class="info-name">{{ $lang('bindMobile.phoneNumber') }}</text>
<input class="uni-input info-content" type="number" maxlength="11" :placeholder="$lang('bindMobile.pleInputMobile')" v-model="formData.mobile" />
<text class="info-name">{{ $lang('member.bind_mobile.phoneNumber') }}</text>
<input class="uni-input info-content" type="number" maxlength="11" :placeholder="$lang('member.bind_mobile.pleInputMobile')" v-model="formData.mobile" />
</view>
<view class="edit-info-box">
<text class="info-name">{{ $lang('bindMobile.confirmCode') }}</text>
<input class="uni-input info-content" type="number" maxlength="4" :placeholder="$lang('bindMobile.confirmCodeInput')" v-model="formData.mobileVercode" />
<text class="info-name">{{ $lang('member.bind_mobile.confirmCode') }}</text>
<input class="uni-input info-content" type="number" maxlength="4" :placeholder="$lang('member.bind_mobile.confirmCodeInput')" v-model="formData.mobileVercode" />
<image :src="captcha.img" class="captcha" @click="getCaptcha" show-menu-by-longpress></image>
</view>
<view class="edit-info-box">
<text class="info-name">{{ $lang('bindMobile.smsCode') }}</text>
<input class="uni-input info-content" type="number" maxlength="6" :placeholder="$lang('bindMobile.animateCodeInput')" v-model="formData.mobileDynacode" />
<text class="info-name">{{ $lang('member.bind_mobile.smsCode') }}</text>
<input class="uni-input info-content" type="number" maxlength="6" :placeholder="$lang('member.bind_mobile.animateCodeInput')" v-model="formData.mobileDynacode" />
<button type="primary" class="dynacode" @click="bindMoblieCode()">{{ formData.mobileCodeText }}</button>
</view>
<view class="save-item" @click="bindMobile">
<button type="primary">{{ $lang('bindMobile.save') }}</button>
<button type="primary">{{ $lang('member.bind_mobile.save') }}</button>
</view>
</view>
</template>
@@ -72,7 +72,7 @@
},
mixins: [auth],
onLoad() {
this.formData.mobileCodeText = this.$lang('bindMobile.findanimateCode');
this.formData.mobileCodeText = this.$lang('member.bind_mobile.findanimateCode');
this.getCaptcha();
// #ifdef MP-WEIXIN
this.getCode();
@@ -86,7 +86,7 @@
},
onHide() {
this.seconds = 120;
this.formData.mobileCodeText = this.$lang('bindMobile.findanimateCode');
this.formData.mobileCodeText = this.$lang('member.bind_mobile.findanimateCode');
this.isSend = false;
clearInterval(this.timer);
},
@@ -94,7 +94,7 @@
seconds(value) {
if (value == 0) {
this.seconds = 120;
this.formData.mobileCodeText = this.$lang('bindMobile.findanimateCode');
this.formData.mobileCodeText = this.$lang('member.bind_mobile.findanimateCode');
this.isSend = false;
clearInterval(this.timer);
}
@@ -135,11 +135,11 @@
var rule = [{
name: 'mobile',
checkType: 'required',
errorMsg: this.$lang('bindMobile.pleInputMobile')
errorMsg: this.$lang('member.bind_mobile.pleInputMobile')
}, {
name: 'mobile',
checkType: 'phoneno',
errorMsg: this.$lang('bindMobile.surePhoneNumber')
errorMsg: this.$lang('member.bind_mobile.surePhoneNumber')
}];
var checkRes = validate.check(this.formData, rule);
if (!checkRes) {
@@ -156,12 +156,12 @@
var rule = [{
name: 'mobile',
checkType: 'phoneno',
errorMsg: this.$lang('bindMobile.surePhoneNumber')
errorMsg: this.$lang('member.bind_mobile.surePhoneNumber')
},
{
name: 'mobileVercode',
checkType: 'required',
errorMsg: this.$lang('bindMobile.confirmCodeInput')
errorMsg: this.$lang('member.bind_mobile.confirmCodeInput')
},
];
@@ -182,7 +182,7 @@
if (this.seconds == 120 && this.timer == null) {
this.timer = setInterval(() => {
this.seconds--;
this.formData.mobileCodeText = this.$lang('bindMobile.codeSent', { seconds: this.seconds });
this.formData.mobileCodeText = this.$lang('member.bind_mobile.codeSent', { seconds: this.seconds });
}, 1000);
}
uni.setStorageSync('mobile_key', data.key);
@@ -200,7 +200,7 @@
});
} else {
this.$util.showToast({
title: validate.error ? validate.error : this.$lang('bindMobile.doNotRepeatedlyClick')
title: validate.error ? validate.error : this.$lang('member.bind_mobile.doNotRepeatedlyClick')
});
}
},
@@ -211,12 +211,12 @@
var mobileRule = [{
name: 'mobileVercode',
checkType: 'required',
errorMsg: this.$lang('bindMobile.confirmCodeInput')
errorMsg: this.$lang('member.bind_mobile.confirmCodeInput')
},
{
name: 'mobileDynacode',
checkType: 'required',
errorMsg: this.$lang('bindMobile.animateCodeInput')
errorMsg: this.$lang('member.bind_mobile.animateCodeInput')
},
];
var checkRes = validate.check(this.formData, mobileRule);
@@ -224,7 +224,7 @@
if (checkRes) {
if (this.memberInfo.mobile && this.formData.mobile == this.memberInfo.mobile) {
this.$util.showToast({
title: this.$lang('bindMobile.alikePhone')
title: this.$lang('member.bind_mobile.alikePhone')
});
return;
}
@@ -242,7 +242,7 @@
this.memberInfo.mobile = this.formData.mobile;
this.$store.commit('setMemberInfo', this.memberInfo);
this.$util.showToast({
title: this.$lang('bindMobile.bindSuccess')
title: this.$lang('member.bind_mobile.bindSuccess')
});
uni.navigateBack({
delta: 1
@@ -278,7 +278,7 @@
success: res => {
if (res.code == 0) {
this.$util.showToast({
title: this.$lang('bindMobile.bindSuccess')
title: this.$lang('member.bind_mobile.bindSuccess')
});
uni.navigateBack({
delta: 1

View File

@@ -10,9 +10,9 @@
<view class="align-center agreement-btn-select">
<text v-if="isSelect" class="iconfont icon-dui color-base-text" @click="changeSelect"></text>
<text v-else class="iconfont icon-yuan_checkbox" @click="changeSelect"></text>
<text class="agreement-text" @click="changeSelect">{{ $lang('agreeTermsText') }}</text>
<text class="agreement-text" @click="changeSelect">{{ $lang('member.cancellation.agreeTermsText') }}</text>
</view>
<button class="btn color-base-bg" @click="next">{{ $lang('nextStep') }}</button>
<button class="btn color-base-bg" @click="next">{{ $lang('member.cancellation.nextStep') }}</button>
</view>
</view>
</view>
@@ -60,7 +60,7 @@ export default {
this.$util.redirectTo('/pages_tool/member/assets');
} else {
this.$util.showToast({
title: this.$lang('pleaseAgreeFirst')
title: this.$lang('member.cancellation.pleaseAgreeFirst')
});
}
}

View File

@@ -3,10 +3,10 @@
<view class="cancel-wrap">
<view class="cancel-img"><image :src="$util.img('public/uniapp/member/refuse.png')" show-menu-by-longpress></image></view>
<view class="cancel-title">{{ $lang('member.cancelrefuse.title') }}</view>
<view class="cancel-reason">{{ $lang('member.cancelrefuse.reasonPrefix') }}{{ reason }}</view>
<view class="cancel-reason">{{ $lang('member.cancelrefuse.cancelrefuse.reasonPrefix') }}{{ reason }}</view>
<view class="cancel-btn">
<button type="primary" @click="toIndex">{{ $lang('member.cancelrefuse.back') }}</button>
<button class="color-base-bg" @click="apply">{{ $lang('member.cancelrefuse.reapply') }}</button>
<button type="primary" @click="toIndex">{{ $lang('member.cancelrefuse.cancelrefuse.back') }}</button>
<button class="color-base-bg" @click="apply">{{ $lang('member.cancelrefuse.cancelrefuse.reapply') }}</button>
</view>
</view>
</view>

View File

@@ -5,8 +5,8 @@
<image :src="$util.img('public/uniapp/member/success.png')" show-menu-by-longpress></image>
</view>
<view class="cancel-title">{{ $lang('member.cancelsuccess.title') }}</view>
<view class="cancel-reason">{{ $lang('member.cancelsuccess.desc') }}</view>
<view class="cancel-btn"><button class="color-base-bg" @click="success">{{ $lang('member.cancelsuccess.done') }}</button></view>
<view class="cancel-reason">{{ $lang('member.cancelsuccess.cancelsuccess.desc') }}</view>
<view class="cancel-btn"><button class="color-base-bg" @click="success">{{ $lang('member.cancelsuccess.cancelsuccess.done') }}</button></view>
</view>
</view>
</template>

View File

@@ -11,7 +11,7 @@
<view class="member-desc">
<view class="font-size-toolbar">{{ memberInfo.nickname }}</view>
<view class="font-size-tag expire-time" v-if="memberInfo.level_expire_time > 0">
{{ $lang('validUntil') }}{{ $util.timeStampTurnTime(memberInfo.level_expire_time, true) }}</view>
{{ $lang('member.card.validUntil') }}{{ $util.timeStampTurnTime(memberInfo.level_expire_time, true) }}</view>
</view>
</view>
@@ -21,14 +21,14 @@
<image :src="$util.img('public/uniapp/level/card-bg.png')"></image>
<view class="info">
<view class="level-detail">{{ levelInfo.level_name }}</view>
<view class="growr-name">{{ levelInfo.level_name }}{{ $lang('enjoyDiscountAnd') }}</view>
<view class="growr-value">{{ $lang('memberGiftBenefits') }}</view>
<view class="growr-name">{{ levelInfo.level_name }}{{ $lang('member.card.enjoyDiscountAnd') }}</view>
<view class="growr-value">{{ $lang('member.card.memberGiftBenefits') }}</view>
<view class="growth-rules font-size-tag" @click="openExplainPopup"
v-if="levelInfo.remark != ''">
<text class="iconfont icon-wenhao font-size-tag"></text>
</view>
<button type="default" class="renew-btn"
@click="$util.redirectTo('/pages_tool/member/card_buy')">{{ $lang('renewNow') }}</button>
@click="$util.redirectTo('/pages_tool/member/card_buy')">{{ $lang('member.card.renewNow') }}</button>
</view>
</view>
</view>
@@ -39,7 +39,7 @@
<view class="line-box">
<view class="line right"></view>
</view>
<view class="card-content-title">{{ $lang('memberBenefits') }}</view>
<view class="card-content-title">{{ $lang('member.card.memberBenefits') }}</view>
<view class="line-box">
<view class="line"></view>
</view>
@@ -49,18 +49,18 @@
<view class="card-privilege-item" v-if="levelInfo.is_free_shipping">
<view class="card-privilege-icon"><text class="iconfont icon-tedianquanchangbaoyou"></text>
</view>
<view class="card-privilege-name">{{ $lang('freeShipping') }}</view>
<view class="card-privilege-text">{{ $lang('enjoyFreeShipping') }}</view>
<view class="card-privilege-name">{{ $lang('member.card.freeShipping') }}</view>
<view class="card-privilege-text">{{ $lang('member.card.enjoyFreeShipping') }}</view>
</view>
<view class="card-privilege-item" v-if="levelInfo.consume_discount < 100">
<view class="card-privilege-icon"><text class="iconfont icon-zhekou"></text></view>
<view class="card-privilege-name">{{ $lang('consumptionDiscount') }}</view>
<view class="card-privilege-text">{{ $lang('enjoyDiscountOnSomeProducts', { discount: levelInfo.consume_discount / 10 }) }}</view>
<view class="card-privilege-name">{{ $lang('member.card.consumptionDiscount') }}</view>
<view class="card-privilege-text">{{ $lang('member.card.enjoyDiscountOnSomeProducts', { discount: levelInfo.consume_discount / 10 }) }}</view>
</view>
<view class="card-privilege-item" v-if="levelInfo.point_feedback > 0">
<view class="card-privilege-icon"><text class="iconfont icon-jifen2 f32"></text></view>
<view class="card-privilege-name">{{ $lang('pointsReward') }}</view>
<view class="card-privilege-text">{{ $lang('earnPointsMultiplier', { multiplier: parseFloat(levelInfo.point_feedback) }) }}</view>
<view class="card-privilege-name">{{ $lang('member.card.pointsReward') }}</view>
<view class="card-privilege-text">{{ $lang('member.card.earnPointsMultiplier', { multiplier: parseFloat(levelInfo.point_feedback) }) }}</view>
</view>
</view>
@@ -69,7 +69,7 @@
<view class="line-box">
<view class="line right"></view>
</view>
<view class="card-content-title">{{ $lang('welcomeGift') }}</view>
<view class="card-content-title">{{ $lang('member.card.welcomeGift') }}</view>
<view class="line-box">
<view class="line"></view>
</view>
@@ -78,18 +78,18 @@
<view class="card-privilege-list">
<view class="card-privilege-item" v-if="levelInfo.send_point > 0">
<view class="card-privilege-icon"><text class="iconfont icon-jifen3"></text></view>
<view class="card-privilege-name">{{ $lang('pointsGift') }}</view>
<view class="card-privilege-text">{{ $lang('giftPoints', { points: levelInfo.send_point }) }}</view>
<view class="card-privilege-name">{{ $lang('member.card.pointsGift') }}</view>
<view class="card-privilege-text">{{ $lang('member.card.giftPoints', { points: levelInfo.send_point }) }}</view>
</view>
<view class="card-privilege-item" v-if="levelInfo.send_balance > 0">
<view class="card-privilege-icon"><text class="iconfont icon-hongbao"></text></view>
<view class="card-privilege-name">{{ $lang('redPacketGift') }}</view>
<view class="card-privilege-text">{{ $lang('giftRedPacket', { amount: parseFloat(levelInfo.send_balance) }) }}</view>
<view class="card-privilege-name">{{ $lang('member.card.redPacketGift') }}</view>
<view class="card-privilege-text">{{ $lang('member.card.giftRedPacket', { amount: parseFloat(levelInfo.send_balance) }) }}</view>
</view>
<view class="card-privilege-item" v-if="levelInfo.send_coupon != ''">
<view class="card-privilege-icon"><text class="iconfont icon-youhuiquan1"></text></view>
<view class="card-privilege-name">{{ $lang('couponGift') }}</view>
<view class="card-privilege-text">{{ $lang('giftCoupons', { count: levelInfo.send_coupon.split(',').length }) }}</view>
<view class="card-privilege-name">{{ $lang('member.card.couponGift') }}</view>
<view class="card-privilege-text">{{ $lang('member.card.giftCoupons', { count: levelInfo.send_coupon.split(',').length }) }}</view>
</view>
</view>
</view>
@@ -101,13 +101,13 @@
<uni-popup ref="explainPopup" type="bottom">
<view class="tips-layer">
<view class="head" @click="closeExplainPopup()">
<view class="title">{{ $lang('cardDescription') }}</view>
<view class="title">{{ $lang('member.card.cardDescription') }}</view>
<text class="iconfont icon-close"></text>
</view>
<view class="body">
<view class="detail margin-bottom">
<block v-if="levelInfo.remark != ''">
<view class="tip">{{ $lang('cardDescription') }}</view>
<view class="tip">{{ $lang('member.card.cardDescription') }}</view>
<view class="font-size-base">{{ levelInfo.remark }}</view>
</block>
</view>
@@ -167,11 +167,11 @@ export default {
// 如果后台没配置,用默认值
this.mpShareData = {
appMessage: {
title: this.$lang('shareTitle'),
title: this.$lang('member.card.shareTitle'),
path: '/pages_tool/member/card'
},
timeLine: {
title: this.$lang('shareTitle'),
title: this.$lang('member.card.shareTitle'),
query: '/pages_tool/member/card'
}
};
@@ -204,19 +204,19 @@ export default {
},
onShareAppMessage() {
return this.mpShareData?.appMessage || {
title: this.$lang('shareTitle'),
title: this.$lang('member.card.shareTitle'),
path: '/pages_tool/member/card'
};
},
onShareTimeline() {
return this.mpShareData?.timeLine || {
title: this.$lang('shareTitle'),
title: this.$lang('member.card.shareTitle'),
query: '/pages_tool/member/card'
};
},
onAddToFavorites() {
return {
title: this.$lang('shareTitle'),
title: this.$lang('member.card.shareTitle'),
path: '/pages_tool/member/card'
};
}

View File

@@ -12,7 +12,7 @@
<view class="member-desc">
<view class="font-size-toolbar">{{ memberInfo.nickname }}</view>
<view class="font-size-tag expire-time" v-if="memberInfo.level_expire_time > 0">
{{ $lang('validUntil') }}{{ $util.timeStampTurnTime(memberInfo.level_expire_time, true) }}
{{ $lang('member.card_buy.validUntil') }}{{ $util.timeStampTurnTime(memberInfo.level_expire_time, true) }}
</view>
</view>
</view>
@@ -60,9 +60,9 @@
<view class="level-detail" :style="{ color: levelList[curIndex]['level_text_color'] }">
{{ levelList[curIndex].level_name }}</view>
<view class="growr-name" :style="{ color: levelList[curIndex]['level_text_color'] }">{{
levelList[curIndex].level_name }}{{ $lang('enjoyDiscountAnd') }}</view>
levelList[curIndex].level_name }}{{ $lang('member.card_buy.enjoyDiscountAnd') }}</view>
<view class="growr-value" :style="{ color: levelList[curIndex]['level_text_color'] }">
{{ $lang('memberGiftBenefits') }}</view>
{{ $lang('member.card_buy.memberGiftBenefits') }}</view>
<view class="growth-rules font-size-tag" @click="openExplainPopup"
v-if="levelList[curIndex].remark != ''">
<text class="iconfont icon-wenhao font-size-tag"></text>
@@ -78,7 +78,7 @@
<view class="line-box">
<view class="line right"></view>
</view>
<view class="card-content-title">{{ $lang('cardTypeSelection') }}</view>
<view class="card-content-title">{{ $lang('member.card_buy.cardTypeSelection') }}</view>
<view class="line-box">
<view class="line"></view>
</view>
@@ -107,7 +107,7 @@
<view class="line-box">
<view class="line right"></view>
</view>
<view class="card-content-title">{{ $lang('memberBenefits') }}</view>
<view class="card-content-title">{{ $lang('member.card_buy.memberBenefits') }}</view>
<view class="line-box">
<view class="line"></view>
</view>
@@ -118,18 +118,18 @@
<view class="card-privilege-icon">
<text class="iconfont icon-tedianquanchangbaoyou"></text>
</view>
<view class="card-privilege-name">{{ $lang('freeShipping') }}</view>
<view class="card-privilege-text">{{ $lang('enjoyFreeShipping') }}</view>
<view class="card-privilege-name">{{ $lang('member.card_buy.freeShipping') }}</view>
<view class="card-privilege-text">{{ $lang('member.card_buy.enjoyFreeShipping') }}</view>
</view>
<view class="card-privilege-item" v-if="currCard.consume_discount < 100">
<view class="card-privilege-icon"><text class="iconfont icon-zhekou"></text></view>
<view class="card-privilege-name">{{ $lang('consumptionDiscount') }}</view>
<view class="card-privilege-text">{{ $lang('enjoyDiscountOnSomeProducts', { discount: currCard.consume_discount / 10 }) }}</view>
<view class="card-privilege-name">{{ $lang('member.card_buy.consumptionDiscount') }}</view>
<view class="card-privilege-text">{{ $lang('member.card_buy.enjoyDiscountOnSomeProducts', { discount: currCard.consume_discount / 10 }) }}</view>
</view>
<view class="card-privilege-item" v-if="currCard.point_feedback > 0">
<view class="card-privilege-icon"><text class="iconfont icon-jifen2 f32"></text></view>
<view class="card-privilege-name">{{ $lang('pointsReward') }}</view>
<view class="card-privilege-text">{{ $lang('earnPointsMultiplier', { multiplier: parseFloat(currCard.point_feedback) }) }}</view>
<view class="card-privilege-name">{{ $lang('member.card_buy.pointsReward') }}</view>
<view class="card-privilege-text">{{ $lang('member.card_buy.earnPointsMultiplier', { multiplier: parseFloat(currCard.point_feedback) }) }}</view>
</view>
</view>
@@ -138,7 +138,7 @@
<view class="line-box">
<view class="line right"></view>
</view>
<view class="card-content-title">{{ $lang('welcomeGift') }}</view>
<view class="card-content-title">{{ $lang('member.card_buy.welcomeGift') }}</view>
<view class="line-box">
<view class="line"></view>
</view>
@@ -147,18 +147,18 @@
<view class="card-privilege-list">
<view class="card-privilege-item" v-if="currCard.send_point > 0">
<view class="card-privilege-icon"><text class="iconfont icon-jifen3"></text></view>
<view class="card-privilege-name">{{ $lang('pointsGift') }}</view>
<view class="card-privilege-text">{{ $lang('giftPoints', { points: currCard.send_point }) }}</view>
<view class="card-privilege-name">{{ $lang('member.card_buy.pointsGift') }}</view>
<view class="card-privilege-text">{{ $lang('member.card_buy.giftPoints', { points: currCard.send_point }) }}</view>
</view>
<view class="card-privilege-item" v-if="currCard.send_balance > 0">
<view class="card-privilege-icon"><text class="iconfont icon-hongbao"></text></view>
<view class="card-privilege-name">{{ $lang('redPacketGift') }}</view>
<view class="card-privilege-text">{{ $lang('giftRedPacket', { amount: parseFloat(currCard.send_balance) }) }}</view>
<view class="card-privilege-name">{{ $lang('member.card_buy.redPacketGift') }}</view>
<view class="card-privilege-text">{{ $lang('member.card_buy.giftRedPacket', { amount: parseFloat(currCard.send_balance) }) }}</view>
</view>
<view class="card-privilege-item" v-if="currCard.send_coupon != ''">
<view class="card-privilege-icon"><text class="iconfont icon-youhuiquan1"></text></view>
<view class="card-privilege-name">{{ $lang('couponGift') }}</view>
<view class="card-privilege-text">{{ $lang('giftCoupons', { count: currCard.send_coupon.split(',').length }) }}
<view class="card-privilege-name">{{ $lang('member.card_buy.couponGift') }}</view>
<view class="card-privilege-text">{{ $lang('member.card_buy.giftCoupons', { count: currCard.send_coupon.split(',').length }) }}
</view>
</view>
</view>
@@ -170,17 +170,17 @@
</view>
<view class="action" :class="{ 'bottom-safe-area': isIphoneX, 'have-agreement': agreement }">
<view class="action-btn" @click="create">
<block v-if="currCard.level_id == levelId"><text class="bold title">{{ $lang('renewNow') }}</text></block>
<block v-if="currCard.level_id == levelId"><text class="bold title">{{ $lang('member.card_buy.renewNow') }}</text></block>
<block v-else>
<text class="bold title" v-if="currCard.charge_type == 1">{{ $lang('rechargeToActivate') }}</text>
<text class="bold title" v-else>{{ $lang('activateNow') }}</text>
<text class="bold title" v-if="currCard.charge_type == 1">{{ $lang('member.card_buy.rechargeToActivate') }}</text>
<text class="bold title" v-else>{{ $lang('member.card_buy.activateNow') }}</text>
</block>
<text class="font-size-tag">{{ $lang('common.currencySymbol') }}</text>
<text class="bold">{{ currCard.charge_rule_arr[choiceIndex].value }}</text>
<text>/{{ cardType[currCard.charge_rule_arr[choiceIndex].key].unit }}</text>
</view>
<view class="agreement" v-if="agreement">
{{ $lang('purchaseAgreement') }}
{{ $lang('member.card_buy.purchaseAgreement') }}
<text @click="$util.redirectTo('/pages_tool/member/card_agreement')">《{{ agreement.title
}}》</text>
</view>
@@ -193,13 +193,13 @@
<uni-popup ref="explainPopup" type="bottom">
<view class="tips-layer">
<view class="head" @click="closeExplainPopup()">
<view class="title">{{ $lang('cardDescription') }}</view>
<view class="title">{{ $lang('member.card_buy.cardDescription') }}</view>
<text class="iconfont icon-close"></text>
</view>
<view class="body">
<view class="detail margin-bottom">
<block v-if="currCard.remark != ''">
<view class="tip">{{ $lang('cardDescription') }}</view>
<view class="tip">{{ $lang('member.card_buy.cardDescription') }}</view>
<view class="font-size-base">{{ currCard.remark }}</view>
</block>
</view>
@@ -211,7 +211,7 @@
<ns-payment ref="choosePaymentPopup" :payMoney="currCard.charge_rule_arr[choiceIndex].value"
@confirm="toPay" v-if="currCard.charge_rule_arr.length"></ns-payment>
</block>
<block v-else><ns-empty :text="$lang('noCardsAvailable')" :isIndex="false"></ns-empty></block>
<block v-else><ns-empty :text="$lang('member.card_buy.noCardsAvailable')" :isIndex="false"></ns-empty></block>
<ns-login ref="login"></ns-login>
<loading-cover ref="loadingCover"></loading-cover>
@@ -258,20 +258,20 @@ export default {
cardType() {
return {
week: {
name: this.$lang('weekCardName'),
unit: this.$lang('weekCardUnit')
name: this.$lang('member.card_buy.weekCardName'),
unit: this.$lang('member.card_buy.weekCardUnit')
},
month: {
name: this.$lang('monthCardName'),
unit: this.$lang('monthCardUnit')
name: this.$lang('member.card_buy.monthCardName'),
unit: this.$lang('member.card_buy.monthCardUnit')
},
quarter: {
name: this.$lang('quarterCardName'),
unit: this.$lang('quarterCardUnit')
name: this.$lang('member.card_buy.quarterCardName'),
unit: this.$lang('member.card_buy.quarterCardUnit')
},
year: {
name: this.$lang('yearCardName'),
unit: this.$lang('yearCardUnit')
name: this.$lang('member.card_buy.yearCardName'),
unit: this.$lang('member.card_buy.yearCardUnit')
}
};
},
@@ -351,7 +351,7 @@ export default {
if (this.memberInfo.member_level_type && this.memberInfo.member_level != this.currCard.level_id) {
uni.showModal({
title: this.$lang('customerService.tip'),
content: this.$lang('cardOverrideConfirm'),
content: this.$lang('member.card_buy.cardOverrideConfirm'),
success: res => {
if (res.confirm) {
this.$refs.choosePaymentPopup.open();

View File

@@ -4,17 +4,17 @@
<view class="stat-header">
<view class="stat-item">
<view class="stat-value">{{ cardStat.total_consume }}</view>
<view class="stat-label">{{ $lang('totalConsume') }}{{ $lang('statUnit', { unit: $lang('yuanSuffix') }) }}</view>
<view class="stat-label">{{ $lang('member.card_log.totalConsume') }}{{ $lang('member.card_log.statUnit', { unit: $lang('member.card_log.yuanSuffix') }) }}</view>
</view>
<view class="stat-divider"></view>
<view class="stat-item">
<view class="stat-value">{{ cardStat.balance }}</view>
<view class="stat-label">{{ $lang('cardBalance') }}{{ $lang('statUnit', { unit: $lang('yuanSuffix') }) }}</view>
<view class="stat-label">{{ $lang('member.card_log.cardBalance') }}{{ $lang('member.card_log.statUnit', { unit: $lang('member.card_log.yuanSuffix') }) }}</view>
</view>
<view class="stat-divider"></view>
<view class="stat-item">
<view class="stat-value">{{ cardStat.total_recharge }}</view>
<view class="stat-label">{{ $lang('totalRecharge') }}{{ $lang('statUnit', { unit: $lang('yuanSuffix') }) }}</view>
<view class="stat-label">{{ $lang('member.card_log.totalRecharge') }}{{ $lang('member.card_log.statUnit', { unit: $lang('member.card_log.yuanSuffix') }) }}</view>
</view>
</view>
@@ -43,14 +43,14 @@
</view>
<view class="log-amount">
<text :class="item.amount > 0 ? 'income' : 'expense'">
{{ item.amount > 0 ? '+' : '' }}{{ $lang('amountWithUnit', { amount: item.amount }) }}
{{ item.amount > 0 ? '+' : '' }}{{ $lang('member.card_log.amountWithUnit', { amount: item.amount }) }}
</text>
</view>
</view>
</view>
</block>
<block v-else>
<ns-empty :isIndex="false" :text="$lang('emptyTips')"></ns-empty>
<ns-empty :isIndex="false" :text="$lang('member.card_log.emptyTips')"></ns-empty>
</block>
</block>
</mescroll-uni>
@@ -71,12 +71,12 @@ export default {
},
logList: [],
filterList: [
{ label: this.$lang('filterAll'), value: 'all' },
{ label: this.$lang('filterIncome'), value: 'income' },
{ label: this.$lang('filterExpense'), value: 'expense' },
{ label: this.$lang('filterRecharge'), value: 'recharge' },
{ label: this.$lang('filterConsume'), value: 'consume' },
{ label: this.$lang('filterGift'), value: 'gift' }
{ label: this.$lang('member.card_log.filterAll', value: 'all' },
{ label: this.$lang('member.card_log.filterIncome', value: 'income' },
{ label: this.$lang('member.card_log.filterExpense', value: 'expense' },
{ label: this.$lang('member.card_log.filterRecharge', value: 'recharge' },
{ label: this.$lang('member.card_log.filterConsume', value: 'consume' },
{ label: this.$lang('member.card_log.filterGift', value: 'gift' }
],
currentFilter: 'all'
};

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' : ''">{{ $lang('tabUnused') }}</text></view>
<view @click="changeState(2)"><text :class="state == 2 ? 'color-base-text active color-base-border-bottom' : ''">{{ $lang('tabUsed') }}</text></view>
<view @click="changeState(3)"><text :class="state == 3 ? 'color-base-text active color-base-border-bottom' : ''">{{ $lang('tabExpired') }}</text></view>
<view @click="changeState(1)"><text :class="state == 1 ? 'color-base-text active color-base-border-bottom' : ''">{{ $lang('member.coupon.tabUnused') }}</text></view>
<view @click="changeState(2)"><text :class="state == 2 ? 'color-base-text active color-base-border-bottom' : ''">{{ $lang('member.coupon.tabUsed') }}</text></view>
<view @click="changeState(3)"><text :class="state == 3 ? 'color-base-text active color-base-border-bottom' : ''">{{ $lang('member.coupon.tabExpired') }}</text></view>
</view>
<!-- <view class="coupon-head">
<view class="sort" :class="sort == 1 ? 'color-base-border color-base-text' : ''" @click="changeSort(1, '')">全部</view>
@@ -30,36 +30,36 @@
{{ parseFloat(item.money) }}
</view>
<view class="use_price" v-else-if="item.type == 'discount'">
{{ $lang('discountText', { discount: parseFloat(item.discount) }) }}
{{ $lang('member.coupon.discountText', { discount: parseFloat(item.discount) }) }}
</view>
<view class="use_condition font-size-tag" v-if="item.at_least > 0">
{{ $lang('minAmountCondition', { amount: item.at_least }) }}</view>
<view class="use_condition font-size-tag" v-else>{{ $lang('noThresholdCoupon') }}</view>
{{ $lang('member.coupon.minAmountCondition', { amount: item.at_least }) }}</view>
<view class="use_condition font-size-tag" v-else>{{ $lang('member.coupon.noThresholdCoupon') }}</view>
</view>
</view>
<view class="item-info">
<view class="use_title">
<view class="title">{{ item.coupon_name }}</view>
<view class="max_price" v-if="item.goods_type == 2 || item.goods_type == 3" :class="{ disabled: item.state == 3 }">{{ $lang('specifiedGoods') }}</view>
<view class="max_price" v-if="item.discount_limit != '0.00'">{{ $lang('maxDiscount', { amount: item.discount_limit }) }}</view>
<view class="max_price" v-if="item.goods_type == 2 || item.goods_type == 3" :class="{ disabled: item.state == 3 }">{{ $lang('member.coupon.specifiedGoods') }}</view>
<view class="max_price" v-if="item.discount_limit != '0.00'">{{ $lang('member.coupon.maxDiscount', { amount: item.discount_limit }) }}</view>
<view class="max_price" :class="{ disabled: item.useState == 2 }">{{ item.use_channel_name }}</view>
<!-- <view class="max_price truncate" v-if="item.use_channel!='online'" :class="{ disabled: item.useState == 2 }">
{{ item.use_store==='all'?'适用门店:全部门店': '适用门店:'+item.use_store_name}}
</view> -->
</view>
<view class="use_time" v-if="item.end_time">{{ $lang('validPeriodPrefix') }}{{ $util.timeStampTurnTime(item.end_time) }}
<view class="use_time" v-if="item.end_time">{{ $lang('member.coupon.validPeriodPrefix') }}{{ $util.timeStampTurnTime(item.end_time) }}
</view>
<view class="use_time" v-else>{{ $lang('validPeriodPrefix') }}{{ $lang('longTermValid') }}</view>
<view class="use_time" v-else>{{ $lang('member.coupon.validPeriodPrefix') }}{{ $lang('member.coupon.longTermValid') }}</view>
</view>
<view class="item-btn">
<view class="tag" v-if="item.state == 1">{{ $lang('useNow') }}</view>
<view class="tag disabled" v-if="item.state == 2">{{ $lang('used') }}</view>
<view class="tag disabled" v-if="item.state == 3">{{ $lang('expired') }}</view>
<view class="tag" v-if="item.state == 1">{{ $lang('member.coupon.useNow') }}</view>
<view class="tag disabled" v-if="item.state == 2">{{ $lang('member.coupon.used') }}</view>
<view class="tag disabled" v-if="item.state == 3">{{ $lang('member.coupon.expired') }}</view>
</view>
</view>
</view>
<view v-if="!list.length && showEmpty" class="margin-top cart-empty" :fixed="false">
<ns-empty :isIndex="true" :emptyBtn="{url: $util.INDEX_PAGE_URL,text: $lang('goShopping')}" :text="$lang('emptyText')"></ns-empty>
<ns-empty :isIndex="true" :emptyBtn="{url: $util.INDEX_PAGE_URL,text: $lang('member.coupon.goShopping')}" :text="$lang('member.coupon.emptyText')"></ns-empty>
</view>
</block>
</mescroll-uni>
@@ -88,7 +88,7 @@ export default {
this.$nextTick(() => {
if (!this.addonIsExist.coupon) {
this.$util.showToast({
title: this.$lang('merchantNotEnabled'),
title: this.$lang('member.coupon.merchantNotEnabled'),
mask: true,
duration: 2000
});

View File

@@ -17,7 +17,7 @@
</view> -->
<!-- 账号 -->
<!-- <view class="info-list-cell info-list-con" hover-class="cell-hover" v-else>
<text class="cell-tit">{{ $lang('account') }}</text>
<text class="cell-tit">{{ $lang('member.info.account') }}</text>
<text class="cell-tip cell-tip1">{{ memberInfoformData.number }}</text>
</view> -->
<!-- 昵称 -->
@@ -28,7 +28,7 @@
</view>
<!-- 真实姓名 -->
<view class="info-list-cell info-list-con" hover-class="cell-hover" @click="modifyInfo('realName')">
<text class="cell-tit">{{ $lang('member.info.name') }}</text>
<text class="cell-tit">{{ $lang('member.info.realName') }}</text>
<text class="cell-tip">{{ memberInfoformData.realName }}</text>
<text class="cell-more"></text>
</view>
@@ -46,7 +46,7 @@
</view>
<!-- 手机号 -->
<view class="info-list-cell info-list-con" @click="modifyInfo('mobile')">
<text class="cell-tit">{{ $lang('member.info.mobile') }}</text>
<text class="cell-tit">{{ $lang('member.info.mobilePhone') }}</text>
<text v-if="memberInfoformData.user_tel == ''" class="cell-tip">{{ $lang('member.info.password') }}</text>
<text v-else class="cell-tip">{{ memberInfoformData.mobile }}</text>
<text class="cell-more"></text>
@@ -58,7 +58,7 @@
</view> -->
<!-- 支付密码 -->
<!-- <view class="info-list-cell info-list-con" hover-class="cell-hover" @click="modifyInfo('paypassword')">
<text class="cell-tit">{{ $lang('paypassword') }}</text>
<text class="cell-tit">{{ $lang('member.info.paypassword') }}</text>
<text class="cell-more"></text>
</view> -->
@@ -86,7 +86,7 @@
<!-- 语言 -->
<!-- <view class="info-list-cell info-item info-list-con" hover-class="cell-hover" @click="modifyInfo('language')">
<text class="cell-tit">{{ $lang('lang') }}</text>
<text class="cell-tit">{{ $lang('member.info.lang') }}</text>
<text class="cell-tip">{{ langList[langIndex].name }}</text>
<text class="cell-more"></text>
</view> -->

View File

@@ -4,38 +4,38 @@
<!-- 修改用户名 -->
<view v-if="indent == 'username'" class="edit-info">
<view class="edit-info-box">
<text class="info-name">{{ $lang('username') }}</text>
<input class="uni-input info-content input-len" type="text" maxlength="30" :placeholder="$lang('pleaseInput')" v-model="formData.username" />
<text class="info-name">{{ $lang('member.info_edit.username') }}</text>
<input class="uni-input info-content input-len" type="text" maxlength="30" :placeholder="$lang('member.info_edit.pleaseInput')" v-model="formData.username" />
</view>
<view class="color-tip font-size-goods-tag set-pass-tips">{{ $lang('usernameModifyTip') }}</view>
<view class="color-tip font-size-goods-tag set-pass-tips">{{ $lang('member.info_edit.usernameModifyTip') }}</view>
<view class="save-item" @click="save('username')">
<button type="primary">{{ $lang('save') }}</button>
<button type="primary">{{ $lang('member.info_edit.save') }}</button>
</view>
</view>
<!-- 修改昵称 -->
<view v-if="indent == 'name'" class="edit-info">
<view class="edit-info-box">
<text class="info-name">{{ $lang('nickname') }}</text>
<input class="uni-input info-content input-len" type="text" maxlength="30" :placeholder="$lang('pleaseInput')" v-model="formData.nickName" />
<text class="info-name">{{ $lang('member.info_edit.nickname') }}</text>
<input class="uni-input info-content input-len" type="text" maxlength="30" :placeholder="$lang('member.info_edit.pleaseInput')" v-model="formData.nickName" />
</view>
<view class="save-item" @click="save('name')">
<button type="primary">{{ $lang('save') }}</button>
<button type="primary">{{ $lang('member.info_edit.save') }}</button>
</view>
</view>
<!-- 修改真实姓名 -->
<view v-if="indent == 'realName'" class="edit-info">
<view class="edit-info-box">
<text class="info-name">{{ $lang('realName') }}</text>
<input class="uni-input info-content input-len" type="text" maxlength="30" :placeholder="$lang('pleaseInput')" v-model="formData.realName" />
<text class="info-name">{{ $lang('member.info_edit.realName') }}</text>
<input class="uni-input info-content input-len" type="text" maxlength="30" :placeholder="$lang('member.info_edit.pleaseInput')" v-model="formData.realName" />
</view>
<view class="save-item" @click="save('realName')">
<button type="primary">{{ $lang('save') }}</button>
<button type="primary">{{ $lang('member.info_edit.save') }}</button>
</view>
</view>
<!-- 修改性别 -->
<view v-if="indent == 'sex'" class="edit-info">
<view class="edit-info-box">
<text class="info-name">{{ $lang('sex') }}</text>
<text class="info-name">{{ $lang('member.info_edit.sex') }}</text>
<radio-group @change="radioChange" class="edit-sex-list">
<label class="uni-list-cell uni-list-cell-pd" v-for="(item, index) in items" :key="item.value">
<view>
@@ -46,19 +46,19 @@
</radio-group>
</view>
<view class="save-item" @click="save('sex')">
<button type="primary">{{ $lang('save') }}</button>
<button type="primary">{{ $lang('member.info_edit.save') }}</button>
</view>
</view>
<!-- 修改生日 -->
<view v-if="indent == 'birthday'" class="edit-info edit-birthday-list">
<view class="edit-info-box">
<text class="info-name">{{ $lang('birthday') }}</text>
<text class="info-name">{{ $lang('member.info_edit.birthday') }}</text>
<picker mode="date" :value="formData.birthday" :start="startDate" :end="endDate" @change="bindDateChange">
<view class="uni-input">{{ formData.birthday ? formData.birthday : $lang('pleaseSelectBirthday') }}</view>
<view class="uni-input">{{ formData.birthday ? formData.birthday : $lang('member.info_edit.pleaseSelectBirthday') }}</view>
</picker>
</view>
<view class="save-item" @click="save('birthday')">
<button type="primary">{{ $lang('save') }}</button>
<button type="primary">{{ $lang('member.info_edit.save') }}</button>
</view>
</view>
<!-- 修改密码 -->
@@ -68,87 +68,87 @@
<view class="empty_img">
<image :src="$util.img('public/uniapp/common/common-empty.png')" mode="aspectFit" show-menu-by-longpress></image>
</view>
<view class="color-tip margin-top margin-bottom">{{ $lang('bindMobileFirstTip') }}</view>
<button type="primary" size="mini" class="mini button color-base-bg" @click="modifyInfo('mobile')">{{ $lang('bindNow') }}</button>
<view class="color-tip margin-top margin-bottom">{{ $lang('member.info_edit.bindMobileFirstTip') }}</view>
<button type="primary" size="mini" class="mini button color-base-bg" @click="modifyInfo('mobile')">{{ $lang('member.info_edit.bindNow') }}</button>
</view>
</block>
<block v-else>
<view class="edit-info-box" v-if="memberInfo.password">
<text class="info-name">{{ $lang('nowPassword') }}</text>
<input class="uni-input info-content input-len" type="password" maxlength="30" :placeholder="$lang('pleaseInput')" v-model="formData.currentPassword" />
<text class="info-name">{{ $lang('member.info_edit.nowPassword') }}</text>
<input class="uni-input info-content input-len" type="password" maxlength="30" :placeholder="$lang('member.info_edit.pleaseInput')" v-model="formData.currentPassword" />
</view>
<block v-else>
<view class="edit-info-box">
<text class="info-name">{{ $lang('newPassword') }}</text>
<input class="uni-input info-content" type="number" maxlength="4" :placeholder="$lang('pleaseInput')" v-model="formData.mobileVercode" />
<text class="info-name">{{ $lang('member.info_edit.newPassword') }}</text>
<input class="uni-input info-content" type="number" maxlength="4" :placeholder="$lang('member.info_edit.pleaseInput')" v-model="formData.mobileVercode" />
<image :src="captcha.img" class="captcha" @click="getCaptcha" show-menu-by-longpress></image>
</view>
<view class="edit-info-box">
<text class="info-name">{{ $lang('confirmPassword') }}</text>
<input class="uni-input info-content" type="number" maxlength="6" :placeholder="$lang('pleaseInput')" v-model="formData.mobileDynacode" />
<text class="info-name">{{ $lang('member.info_edit.confirmPassword') }}</text>
<input class="uni-input info-content" type="number" maxlength="6" :placeholder="$lang('member.info_edit.pleaseInput')" v-model="formData.mobileDynacode" />
<button type="primary" class="dynacode" @click="passwordMoblieCode()">{{ formData.mobileCodeText }}</button>
</view>
<view class="color-tip font-size-goods-tag set-pass-tips">
{{ $lang('sendCodeTip', { mobile: memberInfoformData.mobile | mobile }) }}</view>
{{ $lang('member.info_edit.sendCodeTip', { mobile: memberInfoformData.mobile | mobile }) }}</view>
</block>
<view class="edit-info-box">
<text class="info-name">{{ $lang('newPassword') }}</text>
<input class="uni-input info-content input-len" type="password" maxlength="30" :placeholder="$lang('pleaseInput')" v-model="formData.newPassword" />
<text class="info-name">{{ $lang('member.info_edit.newPassword') }}</text>
<input class="uni-input info-content input-len" type="password" maxlength="30" :placeholder="$lang('member.info_edit.pleaseInput')" v-model="formData.newPassword" />
</view>
<view class="edit-info-box">
<text class="info-name">{{ $lang('confirmPassword') }}</text>
<input class="uni-input info-content input-len" type="password" maxlength="30" :placeholder="$lang('pleaseInput')" v-model="formData.confirmPassword" />
<text class="info-name">{{ $lang('member.info_edit.confirmPassword') }}</text>
<input class="uni-input info-content input-len" type="password" maxlength="30" :placeholder="$lang('member.info_edit.pleaseInput')" v-model="formData.confirmPassword" />
</view>
<view class="save-item" @click="save('password')">
<button type="primary">{{ $lang('save') }}</button>
<button type="primary">{{ $lang('member.info_edit.save') }}</button>
</view>
</block>
</view>
<!-- 修改手机号 -->
<view v-if="indent == 'mobile'" class="edit-info">
<view class="edit-info-box">
<text class="info-name">{{ $lang('phoneNumber') }}</text>
<input class="uni-input info-content" type="number" maxlength="11" :placeholder="$lang('pleaseInput')" v-model="formData.mobile" />
<text class="info-name">{{ $lang('member.info_edit.phoneNumber') }}</text>
<input class="uni-input info-content" type="number" maxlength="11" :placeholder="$lang('member.info_edit.pleaseInput')" v-model="formData.mobile" />
</view>
<view class="edit-info-box">
<text class="info-name">{{ $lang('confirmCode') }}</text>
<input class="uni-input info-content" type="number" maxlength="4" :placeholder="$lang('pleaseInput')" v-model="formData.mobileVercode" />
<text class="info-name">{{ $lang('member.info_edit.confirmCode') }}</text>
<input class="uni-input info-content" type="number" maxlength="4" :placeholder="$lang('member.info_edit.pleaseInput')" v-model="formData.mobileVercode" />
<image :src="captcha.img" class="captcha" @click="getCaptcha" show-menu-by-longpress></image>
</view>
<view class="edit-info-box">
<text class="info-name">{{ $lang('smsCode') }}</text>
<input class="uni-input info-content" type="number" maxlength="6" :placeholder="$lang('pleaseInput')" v-model="formData.mobileDynacode" />
<text class="info-name">{{ $lang('member.info_edit.smsCode') }}</text>
<input class="uni-input info-content" type="number" maxlength="6" :placeholder="$lang('member.info_edit.pleaseInput')" v-model="formData.mobileDynacode" />
<button type="primary" class="dynacode" @click="bindMoblieCode()">{{ formData.mobileCodeText }}</button>
</view>
<view class="save-item" @click="save('mobile')">
<button type="primary">{{ $lang('save') }}</button>
<button type="primary">{{ $lang('member.info_edit.save') }}</button>
</view>
</view>
<!-- 绑定手机号 -->
<view v-if="indent == 'bind_mobile'" class="edit-info">
<view class="save-item bind-mobile">
<button type="primary" open-type="getPhoneNumber" @getphonenumber="mobileAuth">{{ $lang('oneClickAuthBind') }}</button>
<button type="primary" open-type="getPhoneNumber" @getphonenumber="mobileAuth">{{ $lang('member.info_edit.oneClickAuthBind') }}</button>
</view>
<view class="save-item bind-mobile">
<button type="primary" @click="manualBinding">{{ $lang('manualBind') }}</button>
<button type="primary" @click="manualBinding">{{ $lang('member.info_edit.manualBind') }}</button>
</view>
</view>
<view v-if="indent == 'address'" class="edit-info">
<view class="edit-info-box">
<text class="info-name">{{ $lang('region') }}</text>
<text class="info-name">{{ $lang('member.info_edit.region') }}</text>
<pick-regions :default-regions="defaultRegions" select-arr="3" @getRegions="handleGetRegions">
<text class="select-address " :class="{'color-tip': !formData.fullAddress }">
{{ formData.fullAddress ? formData.fullAddress : $lang('pleaseSelectRegion') }}
{{ formData.fullAddress ? formData.fullAddress : $lang('member.info_edit.pleaseSelectRegion') }}
</text>
</pick-regions>
</view>
<view class="edit-info-box">
<text class="info-name">{{ $lang('detailAddress') }}</text>
<input class="uni-input info-content" type="text" :placeholder="$lang('detailAddress')" v-model="formData.address" />
<text class="info-name">{{ $lang('member.info_edit.detailAddress') }}</text>
<input class="uni-input info-content" type="text" :placeholder="$lang('member.info_edit.detailAddress')" v-model="formData.address" />
</view>
<view class="save-item" @click="save('address')">
<button type="primary">{{ $lang('save') }}</button>
<button type="primary">{{ $lang('member.info_edit.save') }}</button>
</view>
</view>
</template>

View File

@@ -7,17 +7,17 @@
<view class="desc" @click="openRulePopup" v-if="info.remark != ''">
<text class="iconfont icon-bangzhu"></text>
{{ $lang('activityDescription') }}
{{ $lang('member.invite_friends.activityDescription') }}
</view>
<image class="font" :src="$util.img('public/uniapp/member/invite/top_font.png')" mode="widthFix" show-menu-by-longpress />
<view class="time">
{{ $lang('activityTime', { startTime: $util.timeStampTurnTime(info.start_time, 1), endTime: $util.timeStampTurnTime(info.end_time, 1) }) }}
{{ $lang('member.invite_friends.activityTime', { startTime: $util.timeStampTurnTime(info.start_time, 1), endTime: $util.timeStampTurnTime(info.end_time, 1) }) }}
</view>
<view class="btn" :style="{ 'background-image': 'url(' + $util.img('public/uniapp/member/invite/top_btn.png') + ')' }" @click="openSharePopup">{{ $lang('inviteNow') }}</view>
<view class="btn" :style="{ 'background-image': 'url(' + $util.img('public/uniapp/member/invite/top_btn.png') + ')' }" @click="openSharePopup">{{ $lang('member.invite_friends.inviteNow') }}</view>
</view>
<view class="content invite-list">
<view class="title">{{ $lang('myFriends') }}</view>
<view class="title">{{ $lang('member.invite_friends.myFriends') }}</view>
<block v-if="inviteList.length > 0">
<view class="invitelist_block">
<view class="invitelist">
@@ -33,32 +33,32 @@
</view>
</view>
<view class="prize color-base-text font-size-activity-tag">
<block v-if="item.balance > 0">{{ $lang('cashRedPacketAmount', { amount: item.balance }) }}</block>
<block v-if="item.balance > 0">{{ $lang('member.invite_friends.cashRedPacketAmount', { amount: item.balance }) }}</block>
<block v-if="(item.point > 0 || item.coupon_num) && item.balance > 0">+</block>
<block v-if="item.point > 0">{{ $lang('pointsAmount', { amount: parseInt(item.point) }) }}</block>
<block v-if="item.point > 0">{{ $lang('member.invite_friends.pointsAmount', { amount: parseInt(item.point) }) }}</block>
<block v-if="item.point > 0 && item.balance > 0 && item.coupon_num > 0">+
</block>
<block v-if="item.coupon_num > 0">{{ $lang('couponsAmount', { count: item.coupon_num }) }}</block>
<block v-if="item.coupon_num > 0">{{ $lang('member.invite_friends.couponsAmount', { count: item.coupon_num }) }}</block>
</view>
</view>
</view>
</view>
<view class="more_invite color-tip font-size-tag " @click="moreList" v-if="isClick && total_num > page">
{{ $lang('viewMore') }}
{{ $lang('member.invite_friends.viewMore') }}
<text class="iconfont icon-iconangledown"></text>
</view>
<view class="more_invite color-tip font-size-tag " @click="moreList" v-if="!isClick && inviteList.length > 5 && total_num <= page">{{ $lang('noMoreData') }}</view>
<view class="more_invite color-tip font-size-tag " @click="moreList" v-if="!isClick && inviteList.length > 5 && total_num <= page">{{ $lang('member.invite_friends.noMoreData') }}</view>
</view>
</block>
<block v-else>
<view class="empty">
<view class="tip">{{ $lang('noInvitedFriendsTip') }}</view>
<view class="tip">{{ $lang('inviteTip') }}</view>
<view class="tip">{{ $lang('member.invite_friends.noInvitedFriendsTip') }}</view>
<view class="tip">{{ $lang('member.invite_friends.inviteTip') }}</view>
</view>
</block>
</view>
<view class="content">
<view class="title">{{ $lang('inviteRewards') }}</view>
<view class="title">{{ $lang('member.invite_friends.inviteRewards') }}</view>
<view class="invite_active">
<view class="list">
<view class="item" v-if="$util.inArray('balance', info.type) != -1">
@@ -68,7 +68,7 @@
<text class="font-size-base">{{ $lang('common.currencySymbol') }}</text>
<text>{{ info.balance }}</text>
</view>
<view class="type">{{ $lang('cashRedPacket') }}</view>
<view class="type">{{ $lang('member.invite_friends.cashRedPacket') }}</view>
</view>
</view>
@@ -78,7 +78,7 @@
<view class="price">
<text>{{ parseInt(info.point) }}</text>
</view>
<view class="type">{{ $lang('points') }}</view>
<view class="type">{{ $lang('member.invite_friends.points') }}</view>
</view>
</view>
@@ -88,49 +88,49 @@
<view class="desc">
<view class="price">
<text>{{ info.coupon.split(',').length }}</text>
{{ $lang('couponUnit') }}
{{ $lang('member.invite_friends.couponUnit') }}
</view>
<view class="type">{{ $lang('coupon') }}</view>
<view class="type">{{ $lang('member.invite_friends.coupon') }}</view>
</view>
</view>
</view>
<view class="desc">
<view class="title_desc color-tip">{{ $lang('shareDesc') }}</view>
<view class="title_desc color-tip">{{ $lang('member.invite_friends.shareDesc') }}</view>
<view class="desc_list">
<view class="" v-if="$util.inArray('balance', info.type) != -1">
<text>●</text>
{{ $lang('balanceReward', { amount: info.balance }) }}
{{ $lang('member.invite_friends.balanceReward', { amount: info.balance }) }}
</view>
<view class="" v-if="$util.inArray('point', info.type) != -1">
<text>●</text>
{{ $lang('pointReward', { amount: info.point }) }}
{{ $lang('member.invite_friends.pointReward', { amount: info.point }) }}
</view>
<view class="" v-if="$util.inArray('coupon', info.type) != -1">
<text>●</text>
{{ $lang('couponReward', { count: info.coupon.split(',').length }) }}
{{ $lang('member.invite_friends.couponReward', { count: info.coupon.split(',').length }) }}
</view>
<view class="" v-if="info.max_fetch == 0">
<text>●</text>
{{ $lang('unlimitedReward') }}
{{ $lang('member.invite_friends.unlimitedReward') }}
</view>
<view class="" v-else>
<text>●</text>
{{ $lang('rewardLimit', { max: info.max_fetch }) }}
{{ $lang('member.invite_friends.rewardLimit', { max: info.max_fetch }) }}
</view>
</view>
</view>
</view>
</view>
<view class="content">
<view class="title">{{ $lang('howToInvite') }}</view>
<view class="title">{{ $lang('member.invite_friends.howToInvite') }}</view>
<view class="invite_active">
<view class="step">
<view>
<view class="img">
<image :src="$util.img('public/uniapp/member/invite/fenxiang.png')" mode="aspectFit" show-menu-by-longpress />
</view>
<view class="text">{{ $lang('stepShareLink') }}</view>
<view class="text">{{ $lang('member.invite_friends.stepShareLink') }}</view>
</view>
<view>
<image :src="$util.img('public/uniapp/member/invite/jiantou.png')" class="jiantou" show-menu-by-longpress ></image>
@@ -139,7 +139,7 @@
<view class="img">
<image :src="$util.img('public/uniapp/member/invite/shouji.png')" mode="aspectFit" show-menu-by-longpress />
</view>
<view class="text">{{ $lang('stepFriendEnter') }}</view>
<view class="text">{{ $lang('member.invite_friends.stepFriendEnter') }}</view>
</view>
<view>
<image :src="$util.img('public/uniapp/member/invite/jiantou.png')" class="jiantou" show-menu-by-longpress ></image>
@@ -148,7 +148,7 @@
<view class="img">
<image :src="$util.img('public/uniapp/member/invite/hongbao.png')" mode="aspectFit" show-menu-by-longpress />
</view>
<view class="text">{{ $lang('stepFriendRegister') }}</view>
<view class="text">{{ $lang('member.invite_friends.stepFriendRegister') }}</view>
</view>
</view>
</view>
@@ -163,10 +163,10 @@
<image :src="$util.img(poster)" mode="widthFix" show-menu-by-longpress />
</view>
<!-- #ifdef MP || APP-PLUS -->
<view class="save" @click="savePoster()">{{ $lang('saveImage') }}</view>
<view class="save" @click="savePoster()">{{ $lang('member.invite_friends.saveImage') }}</view>
<!-- #endif -->
<!-- #ifdef H5 -->
<view class="save">{{ $lang('longPressSaveImage') }}</view>
<view class="save">{{ $lang('member.invite_friends.longPressSaveImage') }}</view>
<!-- #endif -->
</view>
<view class="close iconfont icon-close" @click="closePosterPopup()"></view>
@@ -179,32 +179,32 @@
<view @touchmove.prevent.stop>
<uni-popup ref="sharePopup" type="bottom" class="share-popup">
<view>
<view class="share-title">{{ $lang('share') }}</view>
<view class="share-title">{{ $lang('member.invite_friends.share') }}</view>
<view class="share-content">
<!-- #ifdef MP -->
<view class="share-box">
<button class="share-btn" :plain="true" open-type="share">
<view class="iconfont icon-share-friend"></view>
<text>{{ $lang('shareToFriends') }}</text>
<text>{{ $lang('member.invite_friends.shareToFriends') }}</text>
</button>
</view>
<!-- #endif -->
<view class="share-box" @click="openPosterPopup">
<button class="share-btn" :plain="true">
<view class="iconfont icon-pengyouquan"></view>
<text>{{ $lang('generatePoster') }}</text>
<text>{{ $lang('member.invite_friends.generatePoster') }}</text>
</button>
</view>
<!-- #ifdef H5 -->
<view class="share-box" @click="copyUrl">
<button class="share-btn" :plain="true">
<view class="iconfont icon-fuzhilianjie"></view>
<text>{{ $lang('copyLink') }}</text>
<text>{{ $lang('member.invite_friends.copyLink') }}</text>
</button>
</view>
<!-- #endif -->
</view>
<view class="share-footer" @click="closeSharePopup"><text>{{ $lang('cancelShare') }}</text></view>
<view class="share-footer" @click="closeSharePopup"><text>{{ $lang('member.invite_friends.cancelShare') }}</text></view>
</view>
</uni-popup>
</view>
@@ -214,7 +214,7 @@
<uni-popup ref="rulePopup" type="bottom">
<view class="tips-layer">
<view class="head" @click="closeRulePopup()">
<view class="title">{{ $lang('activityDescription') }}</view>
<view class="title">{{ $lang('member.invite_friends.activityDescription') }}</view>
<text class="iconfont icon-close"></text>
</view>
<view class="body">
@@ -224,7 +224,7 @@
</uni-popup>
</view>
</view>
<ns-empty v-else :text="$lang('noData')"></ns-empty>
<ns-empty v-else :text="$lang('member.invite_friends.noData')"></ns-empty>
<ns-login ref="login"></ns-login>
<loading-cover ref="loadingCover"></loading-cover>
</view>

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">{{ $lang('currentLevelLabel') }}{{ memberInfo.member_level_name }}</view>
<view class="font-size-activity-tag">{{ $lang('member.level.currentLevelLabel') }}{{ memberInfo.member_level_name }}</view>
</view>
<view class="growth-rules font-size-tag" @click="growthRules">
<text class="iconfont icon-wenhao font-size-tag"></text>
{{ $lang('growthRules') }}
{{ $lang('member.level.growthRules') }}
</view>
</view>
<swiper :style="{ width: '100vw', height: '390rpx' }" class="margin-bottom"
@@ -54,26 +54,26 @@
<view class="info">
<view class="level-detail" :style="{color:levelList[curIndex]['level_text_color']}">
{{ levelList[curIndex].level_name }}
<text class="isnow " :style="{color:levelList[curIndex]['level_text_color']}" v-if="levelId == item.level_id">{{ $lang('currentLevelTag') }}</text>
<text class="isnow " :style="{color:levelList[curIndex]['level_text_color']}" v-if="levelId == item.level_id">{{ $lang('member.level.currentLevelTag') }}</text>
</view>
<view class="growr-name" :style="{color:levelList[curIndex]['level_text_color']}">{{ $lang('currentGrowthValue') }}</view>
<view class="growr-name" :style="{color:levelList[curIndex]['level_text_color']}">{{ $lang('member.level.currentGrowthValue') }}</view>
<view class="growr-value" :style="{color:levelList[curIndex]['level_text_color']}">{{ growth }}</view>
<block v-if="levelId == item.level_id">
<block v-if="levelList[curIndex + 1] != undefined">
<ns-progress :progress="levelList[curIndex + 1].rate"></ns-progress>
<view class="residue-growr-value"
:style="{color:levelList[curIndex]['level_text_color']}">
{{ $lang('growthToNextLevel', { needGrowth: levelList[curIndex + 1].needGrowth > 0 ? levelList[curIndex + 1].needGrowth : 0, levelName: levelList[curIndex + 1].level_name }) }}
{{ $lang('member.level.growthToNextLevel', { needGrowth: levelList[curIndex + 1].needGrowth > 0 ? levelList[curIndex + 1].needGrowth : 0, levelName: levelList[curIndex + 1].level_name }) }}
</view>
</block>
<block v-else>
<view class="residue-growr-value" :style="{color:levelList[curIndex]['level_text_color']}">{{ $lang('maxLevelReached') }}</view>
<view class="residue-growr-value" :style="{color:levelList[curIndex]['level_text_color']}">{{ $lang('member.level.maxLevelReached') }}</view>
</block>
</block>
<block v-else>
<ns-progress :progress="levelList[curIndex].rate" v-if="levelList[curIndex].needGrowth > 0"></ns-progress>
<view class="residue-growr-value" v-if="levelList[curIndex].needGrowth > 0" :style="{color:levelList[curIndex]['level_text_color']}">
{{ $lang('growthToNextLevel', { needGrowth: levelList[curIndex].needGrowth, levelName: levelList[curIndex].level_name }) }}
{{ $lang('member.level.growthToNextLevel', { needGrowth: levelList[curIndex].needGrowth, levelName: levelList[curIndex].level_name }) }}
</view>
</block>
</view>
@@ -82,52 +82,52 @@
</swiper-item>
</swiper>
<view class="member-equity" v-if="levelList[curIndex].is_free_shipping > 0 || levelList[curIndex].consume_discount > 0 || levelList[curIndex].point_feedback > 0">
<view class="equity-title">{{ $lang('memberBenefits') }}</view>
<view class="equity-title">{{ $lang('member.level.memberBenefits') }}</view>
<view class="equity-itme" v-if="levelList[curIndex].is_free_shipping > 0">
<image :src="$util.img('public/uniapp/level/exemption_postage.png')" mode="aspectFit" show-menu-by-longpress></image>
<view class="equity-content" :class="{ active: levelList[curIndex].consume_discount > 0 }">
<text>{{ $lang('freeShipping') }}</text>
<text class="equity-desc">{{ $lang('freeShippingDesc') }}</text>
<text>{{ $lang('member.level.freeShipping') }}</text>
<text class="equity-desc">{{ $lang('member.level.freeShippingDesc') }}</text>
</view>
</view>
<view class="equity-itme" v-if="levelList[curIndex].consume_discount > 0">
<image :src="$util.img('public/uniapp/level/consumption_discount.png')" mode="aspectFit" show-menu-by-longpress></image>
<view class="equity-content" :class="{ active: levelList[curIndex].point_feedback > 0 }">
<text>{{ $lang('consumptionDiscount') }}</text>
<text class="equity-desc" v-if="levelList[curIndex].is_default == 1">{{ $lang('noDiscountDesc') }}</text>
<text class="equity-desc" v-else>{{ $lang('discountDescWithValue', { discount: levelList[curIndex].consume_discount }) }}</text>
<text>{{ $lang('member.level.consumptionDiscount') }}</text>
<text class="equity-desc" v-if="levelList[curIndex].is_default == 1">{{ $lang('member.level.noDiscountDesc') }}</text>
<text class="equity-desc" v-else>{{ $lang('member.level.discountDescWithValue', { discount: levelList[curIndex].consume_discount }) }}</text>
</view>
</view>
<view class="equity-itme" v-if="levelList[curIndex].point_feedback > 0">
<image :src="$util.img('public/uniapp/level/integral_feedback.png')" mode="aspectFit" show-menu-by-longpress></image>
<view class="equity-content">
<text>{{ $lang('pointsReward') }}</text>
<text class="equity-desc">{{ $lang('pointsRewardDesc', { multiplier: levelList[curIndex].point_feedback }) }}</text>
<text>{{ $lang('member.level.pointsReward') }}</text>
<text class="equity-desc">{{ $lang('member.level.pointsRewardDesc', { multiplier: levelList[curIndex].point_feedback }) }}</text>
</view>
</view>
</view>
<view class="member-gift" v-if="levelList[curIndex].send_balance > 0 || levelList[curIndex].send_balance > 0 || levelList[curIndex].send_coupon">
<view class="gift-title">{{ $lang('memberGift') }}</view>
<view class="gift-title">{{ $lang('member.level.memberGift') }}</view>
<view class="gift-itme" v-if="levelList[curIndex].send_point > 0">
<image :src="$util.img('public/uniapp/level/integral.png')" mode="aspectFit" show-menu-by-longpress></image>
<view class="gift-content" :class="{ active: levelList[curIndex].send_balance > 0 }">
<text>{{ $lang('pointsGift') }}</text>
<text class="gift-desc">{{ $lang('giftPoints', { points: levelList[curIndex].send_point }) }}</text>
<text>{{ $lang('member.level.pointsGift') }}</text>
<text class="gift-desc">{{ $lang('member.level.giftPoints', { points: levelList[curIndex].send_point }) }}</text>
</view>
</view>
<view class="gift-itme" v-if="levelList[curIndex].send_balance > 0">
<image :src="$util.img('public/uniapp/level/red_packet.png')" mode="aspectFit" show-menu-by-longpress></image>
<view class="gift-content" :class="{ active: levelList[curIndex].send_coupon }">
<text>{{ $lang('redPacketGift') }}</text>
<text class="gift-desc">{{ $lang('giftRedPacket', { amount: levelList[curIndex].send_balance }) }}</text>
<text>{{ $lang('member.level.redPacketGift') }}</text>
<text class="gift-desc">{{ $lang('member.level.giftRedPacket', { amount: levelList[curIndex].send_balance }) }}</text>
</view>
</view>
<view class="gift-itme" v-if="levelList[curIndex].send_coupon" @click="openCoupon(levelList[curIndex].send_coupon)">
<image :src="$util.img('public/uniapp/level/coupon.png')" mode="aspectFit" show-menu-by-longpress></image>
<view class="gift-content">
<text>{{ $lang('couponGift') }}</text>
<text class="gift-desc">{{ $lang('giftCoupons', { count: levelList[curIndex].coupon_length }) }}</text>
<text>{{ $lang('member.level.couponGift') }}</text>
<text class="gift-desc">{{ $lang('member.level.giftCoupons', { count: levelList[curIndex].coupon_length }) }}</text>
</view>
</view>
</view>
@@ -137,7 +137,7 @@
<uni-popup ref="couponPopup" type="bottom">
<view class="coupon-popup-box">
<view class="coupon-popup-title" @click="closeCoupon">
{{ $lang('coupons') }}
{{ $lang('member.level.coupons') }}
<text class="iconfont icon-close"></text>
</view>
<scroll-view class="coupon-popup-content" scroll-y>
@@ -148,11 +148,11 @@
</view>
<view class="coupon-price" v-if="item.type == 'reward'">
<text>{{ item.money }}</text>
{{ $lang('yuan') }}
{{ $lang('member.level.yuan') }}
</view>
<view class="coupon-price" v-if="item.type == 'discount'">
<text>{{ $util.numberFixed(item.discount, 1) }}</text>
{{ $lang('zhe') }}
{{ $lang('member.level.zhe') }}
</view>
</view>
</scroll-view>
@@ -261,7 +261,7 @@
},
getBannerDetail(index) {
uni.showLoading({
title: this.$lang('navigatingToDetail'),
title: this.$lang('member.level.navigatingToDetail'),
duration: 2000,
mask: true
});

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('title') }}
{{ $lang('member.level_growth_rules.title') }}
<image :src="$util.img('public/uniapp/level/growth_that_right.png')" mode="aspectFit" show-menu-by-longpress></image>
</view>
<view class="explain-table">
<view class="explain-tr">
<text class="explain-th">{{ $lang('level') }}</text>
<text class="explain-th">{{ $lang('growthValue') }}</text>
<text class="explain-th">{{ $lang('member.level_growth_rules.level') }}</text>
<text class="explain-th">{{ $lang('member.level_growth_rules.growthValue') }}</text>
</view>
<view class="explain-tr" v-for="(item, index) in levelList" :key="index">
<text class="explain-td">{{ item.level_name }}</text>
@@ -20,20 +20,20 @@
<view class="grow-value">
<view class="title">
<image :src="$util.img('public/uniapp/level/explain.png')" mode="aspectFit" show-menu-by-longpress></image>
<text>{{ $lang('whatIsGrowthValue') }}</text>
<text>{{ $lang('member.level_growth_rules.whatIsGrowthValue') }}</text>
</view>
<view class="content color-tip">{{ $lang('growthValueDescription') }}</view>
<view class="content color-tip">{{ $lang('member.level_growth_rules.growthValueDescription') }}</view>
</view>
<view class="acquisition-grow">
<view class="title">
<image :src="$util.img('public/uniapp/level/explain.png')" mode="aspectFit" show-menu-by-longpress></image>
<text>{{ $lang('howToGetGrowthValue') }}</text>
<text>{{ $lang('member.level_growth_rules.howToGetGrowthValue') }}</text>
</view>
<view class="content color-tip">
<text>{{ $lang('ruleRegister') }}</text>
<text>{{ $lang('ruleRecharge') }}</text>
<text>{{ $lang('ruleCheckin') }}</text>
<text>{{ $lang('ruleConsume') }}</text>
<text>{{ $lang('member.level_growth_rules.ruleRegister') }}</text>
<text>{{ $lang('member.level_growth_rules.ruleRecharge') }}</text>
<text>{{ $lang('member.level_growth_rules.ruleCheckin') }}</text>
<text>{{ $lang('member.level_growth_rules.ruleConsume') }}</text>
</view>
</view>
@@ -118,7 +118,7 @@
},
getBannerDetail(index) {
uni.showLoading({
title: this.$lang('navigatingToDetail'),
title: this.$lang('member.level_growth_rules.navigatingToDetail'),
duration: 2000,
mask: true
});

View File

@@ -1,16 +1,16 @@
<template>
<view :style="themeColor" class="container">
<view class="tips" v-if="step != 0">{{ $lang('passwordTips') }}</view>
<view class="tips" v-else>{{ $lang('codeSentTips', { mobile: memberInfo.mobile | mobile }) }}</view>
<view class="tips" v-if="step != 0">{{ $lang('member.pay_password.passwordTips') }}</view>
<view class="tips" v-else>{{ $lang('member.pay_password.codeSentTips', { mobile: memberInfo.mobile | mobile }) }}</view>
<view class="password-wrap">
<myp-one :maxlength="step == 0 ? 4 : 6" :is-pwd="step != 0" @input="input" ref="input" :auto-focus="true"></myp-one>
<view v-show="step == 0" class="dynacode" :class="dynacodeData.seconds == 120 ? 'color-base-text' : 'color-tip'" @click="sendMobileCode">
{{ dynacodeData.codeText }}
</view>
<view class="action-tips" v-show="step == 0">{{ $lang('inputSmsCode') }}</view>
<view class="action-tips" v-show="step == 1">{{ $lang('setPayPassword') }}</view>
<view class="action-tips" v-show="step == 2">{{ $lang('inputAgain') }}</view>
<view class="btn color-base-bg color-base-border" :class="{ disabled: !isClick }" @click="confirm">{{ $lang('confirm') }}</view>
<view class="action-tips" v-show="step == 0">{{ $lang('member.pay_password.inputSmsCode') }}</view>
<view class="action-tips" v-show="step == 1">{{ $lang('member.pay_password.setPayPassword') }}</view>
<view class="action-tips" v-show="step == 2">{{ $lang('member.pay_password.inputAgain') }}</view>
<view class="btn color-base-bg color-base-border" :class="{ disabled: !isClick }" @click="confirm">{{ $lang('member.pay_password.confirm') }}</view>
</view>
</view>
</template>
@@ -42,7 +42,7 @@
onLoad(option) {
if (option.back) this.back = option.back;
this.dynacodeData.codeText = this.$lang('getCode');
this.dynacodeData.codeText = this.$lang('member.pay_password.getCode');
// 判断登录
if (!this.storeToken) {
@@ -50,8 +50,8 @@
} else {
if (this.memberInfo.mobile == '') {
uni.showModal({
title: this.$lang('tipsTitle'),
content: this.$lang('bindMobileFirst'),
title: this.$lang('member.pay_password.tipsTitle'),
content: this.$lang('member.pay_password.bindMobileFirst'),
success: res => {
if (res.confirm) {
this.$util.redirectTo('/pages_tool/member/info', {
@@ -134,7 +134,7 @@
success: res => {
if (res.code >= 0) {
this.$util.showToast({
title: this.$lang('modifySuccess')
title: this.$lang('member.pay_password.modifySuccess')
});
setTimeout(() => {
if (this.back) this.$util.redirectTo(this.back, {},
@@ -151,7 +151,7 @@
});
} else {
this.$util.showToast({
title: this.$lang('passwordMismatch'),
title: this.$lang('member.pay_password.passwordMismatch'),
success: res => {
this.initInfo();
}
@@ -187,7 +187,7 @@
if (this.dynacodeData.seconds == 120 && this.dynacodeData.timer == null) {
this.dynacodeData.timer = setInterval(() => {
this.dynacodeData.seconds--;
this.dynacodeData.codeText = this.$lang('resendAfter', { seconds: this.dynacodeData.seconds });
this.dynacodeData.codeText = this.$lang('member.pay_password.resendAfter', { seconds: this.dynacodeData.seconds });
}, 1000);
}
} else {

View File

@@ -64,7 +64,7 @@ export default {
},
onLoad(option) {
this.isIphoneX = this.$util.uniappIsIPhoneX()
this.formData.mobileCodeText = this.$lang('findanimateCode');
this.formData.mobileCodeText = this.$lang('member.info.findanimateCode');
if (option.back) {
this.back = option.back;
@@ -96,7 +96,7 @@ export default {
},
onHide() {
this.seconds = 120;
this.formData.mobileCodeText = this.$lang('findanimateCode');
this.formData.mobileCodeText = this.$lang('member.info.findanimateCode');
this.isSend = false;
clearInterval(this.timer);
},
@@ -104,7 +104,7 @@ export default {
seconds(value) {
if (value == 0) {
this.seconds = 120;
this.formData.mobileCodeText = this.$lang('findanimateCode');
this.formData.mobileCodeText = this.$lang('member.info.findanimateCode');
this.isSend = false;
clearInterval(this.timer);
}
@@ -129,16 +129,16 @@ export default {
initSexItems() {
this.items = [{
value: '0',
name: this.$lang('sexUnknown')
name: this.$lang('member.info.sexUnknown')
},
{
value: '1',
name: this.$lang('sexMale'),
name: this.$lang('member.info.sexMale'),
checked: 'true'
},
{
value: '2',
name: this.$lang('sexFemale')
name: this.$lang('member.info.sexFemale')
}
];
},
@@ -158,25 +158,25 @@ export default {
}
},
setNavbarTitle() {
let title = this.$lang('title');
let title = this.$lang('member.info.title');
switch (this.indent) {
case 'name':
title = this.$lang('modifyNickname');
title = this.$lang('member.info.modifyNickname');
break;
case 'realName':
title = this.$lang('realName');
title = this.$lang('member.info.realName');
break;
case 'sex':
title = this.$lang('sex');
title = this.$lang('member.info.sex');
break;
case 'birthday':
title = this.$lang('birthday');
title = this.$lang('member.info.birthday');
break;
case 'password':
title = this.$lang('password');
title = this.$lang('member.info.password');
break;
case 'mobile':
title = this.$lang('mobile');
title = this.$lang('member.info.mobilePhone');
break;
}
this.$langConfig.title(title);
@@ -186,9 +186,9 @@ export default {
this.memberInfoformData.userHeadImg = this.memberInfo.headimg;
this.memberInfoformData.number = this.memberInfo.username; //账号
this.memberInfoformData.nickName = this.memberInfo.nickname; //昵称
this.memberInfoformData.realName = this.memberInfo.realname ? this.memberInfo.realname : this.$lang('pleaseRealName'); //真实姓名
this.memberInfoformData.sex = this.memberInfo.sex == 0 ? this.$lang('sexUnknown') : this.memberInfo.sex == 1 ? this.$lang('sexMale') : this.$lang('sexFemale'); //性别
this.memberInfoformData.birthday = this.memberInfo.birthday ? this.$util.timeStampTurnTime(this.memberInfo.birthday, 'YYYY-MM-DD') : this.$lang('pleaseSelectBirthday'); //生日
this.memberInfoformData.realName = this.memberInfo.realname ? this.memberInfo.realname : this.$lang('member.info.pleaseRealName'); //真实姓名
this.memberInfoformData.sex = this.memberInfo.sex == 0 ? this.$lang('member.info.sexUnknown') : this.memberInfo.sex == 1 ? this.$lang('member.info.sexMale') : this.$lang('member.info.sexFemale'); //性别
this.memberInfoformData.birthday = this.memberInfo.birthday ? this.$util.timeStampTurnTime(this.memberInfo.birthday, 'YYYY-MM-DD') : this.$lang('member.info.pleaseSelectBirthday'); //生日
this.memberInfoformData.mobile = this.memberInfo.mobile; //手机号
this.formData.username = this.memberInfo.username; //用户名
@@ -317,14 +317,14 @@ export default {
modifyUserName() {
if (this.formData.username == this.memberInfo.username) {
this.$util.showToast({
title: this.$lang('alikeusername')
title: this.$lang('member.info_edit.alikeusername')
});
return;
}
var rule = [{
name: 'username',
checkType: 'required',
errorMsg: this.$lang('noEmityUsername')
errorMsg: this.$lang('member.info_edit.noEmityUsername')
}];
if (!rule.length) return;
var checkRes = validate.check(this.formData, rule);
@@ -339,7 +339,7 @@ export default {
this.memberInfo.username = this.formData.username;
this.$store.commit('setMemberInfo', this.memberInfo);
this.$util.showToast({
title: this.$lang("updateSuccess")
title: this.$lang("member.info.updateSuccess")
});
this.NavReturn();
} else {
@@ -360,14 +360,14 @@ export default {
modifyNickName() {
if (this.formData.nickName == this.memberInfo.nickname) {
this.$util.showToast({
title: this.$lang('alikeNickname')
title: this.$lang('member.info.alikeNickname')
});
return;
}
var rule = [{
name: 'nickName',
checkType: 'required',
errorMsg: this.$lang('noEmityNickname')
errorMsg: this.$lang('member.info.noEmityNickname')
}];
if (!rule.length) return;
var checkRes = validate.check(this.formData, rule);
@@ -382,7 +382,7 @@ export default {
this.memberInfo.nickname = this.formData.nickName;
this.$store.commit('setMemberInfo', this.memberInfo);
this.$util.showToast({
title: this.$lang("updateSuccess")
title: this.$lang("member.info.updateSuccess")
});
this.NavReturn();
} else {
@@ -403,14 +403,14 @@ export default {
modifyRealName() {
if (this.formData.realName == this.memberInfo.realname && this.memberInfo.realname) {
this.$util.showToast({
title: this.$lang('alikeRealName')
title: this.$lang('member.info.alikeRealName')
});
return;
}
var rule = [{
name: 'realName',
checkType: 'required',
errorMsg: this.$lang('noEmptyRealName')
errorMsg: this.$lang('member.info.noEmptyRealName')
}];
if (!rule.length) return;
var checkRes = validate.check(this.formData, rule);
@@ -425,7 +425,7 @@ export default {
this.memberInfo.realname = this.formData.realName;
this.$store.commit('setMemberInfo', this.memberInfo);
this.$util.showToast({
title: this.$lang("updateSuccess")
title: this.$lang("member.info.updateSuccess")
});
this.NavReturn();
} else {
@@ -463,7 +463,7 @@ export default {
this.memberInfo.sex = this.formData.sex;
this.$store.commit('setMemberInfo', this.memberInfo);
this.$util.showToast({
title: this.$lang("updateSuccess")
title: this.$lang("member.info.updateSuccess")
});
this.NavReturn();
} else {
@@ -500,7 +500,7 @@ export default {
modifyBirthday() {
if (this.formData.birthday.length == 0) {
this.$util.showToast({
title: this.$lang('pleaseSelectBirthday')
title: this.$lang('member.info.pleaseSelectBirthday')
});
return;
}
@@ -514,7 +514,7 @@ export default {
this.memberInfo.birthday = this.$util.timeTurnTimeStamp(this.formData.birthday);
this.$store.commit('setMemberInfo', this.memberInfo);
this.$util.showToast({
title: this.$lang("updateSuccess")
title: this.$lang("member.info.updateSuccess")
});
this.NavReturn();
} else {
@@ -545,29 +545,29 @@ export default {
var rule = [{
name: 'currentPassword',
checkType: 'required',
errorMsg: this.$lang("pleaseInputOldPassword")
errorMsg: this.$lang("member.info.pleaseInputOldPassword")
},
{
name: 'newPassword',
checkType: 'required',
errorMsg: this.$lang("pleaseInputNewPassword")
errorMsg: this.$lang("member.info.pleaseInputNewPassword")
}
];
} else {
var rule = [{
name: 'mobileVercode',
checkType: 'required',
errorMsg: this.$lang("confirmCodeInput")
errorMsg: this.$lang("member.info.confirmCodeInput")
},
{
name: 'mobileDynacode',
checkType: 'required',
errorMsg: this.$lang("animateCodeInput")
errorMsg: this.$lang("member.info.animateCodeInput")
},
{
name: 'newPassword',
checkType: 'required',
errorMsg: this.$lang("pleaseInputNewPassword")
errorMsg: this.$lang("member.info.pleaseInputNewPassword")
}
];
}
@@ -578,31 +578,31 @@ export default {
name: 'newPassword',
checkType: 'lengthMin',
checkRule: regConfig.pwd_len,
errorMsg: this.$lang('passwordMinLength', { num: regConfig.pwd_len })
errorMsg: this.$lang('member.info.passwordMinLength', { num: regConfig.pwd_len })
});
}
if (regConfig.pwd_complexity) {
let passwordErrorMsg = this.$lang('passwordComplexityPrefix'),
let passwordErrorMsg = this.$lang('member.info.passwordComplexityPrefix'),
reg = '';
let firstItem = true;
if (regConfig.pwd_complexity.indexOf('number') != -1) {
reg += '(?=.*?[0-9])';
passwordErrorMsg += (firstItem ? '' : this.$lang('passwordSeparator')) + this.$lang('passwordNumber');
passwordErrorMsg += (firstItem ? '' : this.$lang('member.info.passwordSeparator')) + this.$lang('member.info.passwordNumber');
firstItem = false;
}
if (regConfig.pwd_complexity.indexOf('letter') != -1) {
reg += '(?=.*?[a-z])';
passwordErrorMsg += (firstItem ? '' : this.$lang('passwordSeparator')) + this.$lang('passwordLowercase');
passwordErrorMsg += (firstItem ? '' : this.$lang('member.info.passwordSeparator')) + this.$lang('member.info.passwordLowercase');
firstItem = false;
}
if (regConfig.pwd_complexity.indexOf('upper_case') != -1) {
reg += '(?=.*?[A-Z])';
passwordErrorMsg += (firstItem ? '' : this.$lang('passwordSeparator')) + this.$lang('passwordUppercase');
passwordErrorMsg += (firstItem ? '' : this.$lang('member.info.passwordSeparator')) + this.$lang('member.info.passwordUppercase');
firstItem = false;
}
if (regConfig.pwd_complexity.indexOf('symbol') != -1) {
reg += '(?=.*?[#?!@$%^&*-])';
passwordErrorMsg += (firstItem ? '' : this.$lang('passwordSeparator')) + this.$lang('passwordSymbol');
passwordErrorMsg += (firstItem ? '' : this.$lang('member.info.passwordSeparator')) + this.$lang('member.info.passwordSymbol');
firstItem = false;
}
rule.push({
@@ -616,13 +616,13 @@ export default {
if (checkRes) {
if (this.formData.currentPassword == this.formData.newPassword) {
this.$util.showToast({
title: this.$lang('samePassword')
title: this.$lang('member.info.samePassword')
});
return;
}
if (this.formData.newPassword != this.formData.confirmPassword) {
this.$util.showToast({
title: this.$lang('alikePassword')
title: this.$lang('member.info.alikePassword')
});
return;
}
@@ -639,7 +639,7 @@ export default {
this.memberInfo.password = 1;
this.$store.commit('setMemberInfo', this.memberInfo);
this.$util.showToast({
title: this.$lang('updateSuccess')
title: this.$lang('member.info.updateSuccess')
});
this.NavReturn();
uni.removeStorageSync('password_mobile_key');
@@ -664,11 +664,11 @@ export default {
var rule = [{
name: 'mobile',
checkType: 'required',
errorMsg: this.$lang('pleaseInputMobile')
errorMsg: this.$lang('member.info.pleaseInputMobile')
}, {
name: 'mobile',
checkType: 'phoneno',
errorMsg: this.$lang('surePhoneNumber')
errorMsg: this.$lang('member.info.surePhoneNumber')
}];
var checkRes = validate.check(this.formData, rule);
if (!checkRes) {
@@ -704,12 +704,12 @@ export default {
var rule = [{
name: 'mobile',
checkType: 'phoneno',
errorMsg: this.$lang("surePhoneNumber")
errorMsg: this.$lang("member.info.surePhoneNumber")
},
{
name: 'mobileVercode',
checkType: 'required',
errorMsg: this.$lang("confirmCodeInput")
errorMsg: this.$lang("member.info.confirmCodeInput")
},
];
@@ -730,7 +730,7 @@ export default {
if (this.seconds == 120 && this.timer == null) {
this.timer = setInterval(() => {
this.seconds--;
this.formData.mobileCodeText = this.$lang('codeSent', { seconds: this.seconds });
this.formData.mobileCodeText = this.$lang('member.info.codeSent', { seconds: this.seconds });
}, 1000);
}
uni.setStorageSync('mobile_key', data.key);
@@ -748,7 +748,7 @@ export default {
});
} else {
this.$util.showToast({
title: validate.error ? validate.error : this.$lang('doNotRepeatedlyClick')
title: validate.error ? validate.error : this.$lang('member.info.doNotRepeatedlyClick')
});
}
},
@@ -757,17 +757,17 @@ export default {
var mobileRule = [{
name: 'mobile',
checkType: 'phoneno',
errorMsg: this.$lang("surePhoneNumber")
errorMsg: this.$lang("member.info.surePhoneNumber")
},
{
name: 'mobileVercode',
checkType: 'required',
errorMsg: this.$lang("confirmCodeInput")
errorMsg: this.$lang("member.info.confirmCodeInput")
},
{
name: 'mobileDynacode',
checkType: 'required',
errorMsg: this.$lang("animateCodeInput")
errorMsg: this.$lang("member.info.animateCodeInput")
},
];
var checkRes = validate.check(this.formData, mobileRule);
@@ -775,7 +775,7 @@ export default {
if (checkRes) {
if (this.formData.mobile == this.memberInfo.mobile) {
this.$util.showToast({
title: this.$lang("alikePhone")
title: this.$lang("member.info.alikePhone")
});
return;
}
@@ -793,7 +793,7 @@ export default {
this.memberInfo.mobile = this.formData.mobile;
this.$store.commit('setMemberInfo', this.memberInfo);
this.$util.showToast({
title: this.$lang("updateSuccess")
title: this.$lang("member.info.updateSuccess")
});
if (this.back) {
this.$util.redirectTo('/pages_tool/member/pay_password', {
@@ -828,7 +828,7 @@ export default {
if (this.formData.mobileVercode == '') {
this.$util.showToast({
title: this.$lang("confirmCodeInput")
title: this.$lang("member.info.confirmCodeInput")
});
return;
}
@@ -847,7 +847,7 @@ export default {
if (this.seconds == 120 && this.timer == null) {
this.timer = setInterval(() => {
this.seconds--;
this.formData.mobileCodeText = this.$lang('codeSent', { seconds: this.seconds });
this.formData.mobileCodeText = this.$lang('member.info.codeSent', { seconds: this.seconds });
}, 1000);
}
uni.setStorageSync('password_mobile_key', data.key);
@@ -865,7 +865,7 @@ export default {
});
} else {
this.$util.showToast({
title: this.$lang('doNotRepeatedlyClick')
title: this.$lang('member.info.doNotRepeatedlyClick')
});
}
},
@@ -873,12 +873,12 @@ export default {
var rule = [{
name: 'fullAddress',
checkType: 'required',
errorMsg: this.$lang('pleaseSelectRegion')
errorMsg: this.$lang('member.info.pleaseSelectRegion')
},
{
name: 'address',
checkType: 'required',
errorMsg: this.$lang('pleaseInputDetailAddress')
errorMsg: this.$lang('member.info.pleaseInputDetailAddress')
}
];
if (!rule.length) return;
@@ -902,7 +902,7 @@ export default {
this.memberInfo.full_address = this.formData.fullAddress;
this.$store.commit('setMemberInfo', this.memberInfo);
this.$util.showToast({
title: this.$lang("updateSuccess")
title: this.$lang("member.info.updateSuccess")
});
this.NavReturn();
} else {
@@ -953,7 +953,7 @@ export default {
success: res => {
if (res.code == 0) {
this.$util.showToast({
title: this.$lang("updateSuccess")
title: this.$lang("member.info.updateSuccess")
});
this.NavReturn();
} else {

View File

@@ -98,12 +98,12 @@ export default {
filePath: res.tempFilePath,
success: () => {
this.$util.showToast({
title: this.$lang('saveSuccess')
title: this.$lang('member.invite_friends.saveSuccess')
});
},
fail: () => {
this.$util.showToast({
title: this.$lang('saveFailed')
title: this.$lang('member.invite_friends.saveFailed')
});
}
});

View File

@@ -28,7 +28,7 @@ export default {
setTimeout( () => {
if (!this.addonIsExist.membersignin) {
this.$util.showToast({
title: this.$lang('signinNotEnabled'),
title: this.$lang('member.signin.signinNotEnabled',
mask: true,
duration: 2000
});
@@ -196,7 +196,7 @@ export default {
sign() {
if (this.signState == 0) {
this.$util.showToast({
title: this.$lang('signinClosed')
title: this.$lang('member.signin.signinClosed')
})
}
@@ -231,8 +231,8 @@ export default {
let shareUrl = this.$config.h5Domain + '/pages_tool/member/signin';
this.$util.setPublicShare({
title: this.$lang('title'),
desc: this.$lang('shareDesc'),
title: this.$lang('member.signin.title'),
desc: this.$lang('member.signin.shareDesc'),
link: shareUrl,
imgUrl: ''
},
@@ -263,7 +263,7 @@ export default {
onShareAppMessage() {
var path = '/pages_tool/member/signin';
return {
title: this.$lang('shareTitle'),
title: this.$lang('member.signin.shareTitle'),
imageUrl: '',
path: path,
success: res => {},

View File

@@ -21,7 +21,7 @@
</view>
</block>
<block v-else>
<ns-empty :isIndex="false" :text="$lang('emptyTips')"></ns-empty>
<ns-empty :isIndex="false" :text="$lang('member.withdrawal.emptyTips')"></ns-empty>
</block>
</view>
</mescroll-uni>

View File

@@ -7,9 +7,9 @@
<view class="order-item" v-for="(item, index) in refundList" :key="index">
<view class="order-header">
<text class="status-num font-size-base">{{ item.order_no }}</text>
<view class="status-name" v-if="item.refund_status == 3">{{ $lang('status.success') }}</view>
<view class="status-name color-base-text" v-if="item.refund_status == 1">{{ $lang('status.processing') }}</view>
<view class="status-name color-base-text" v-if="item.refund_status == -1">{{ $lang('status.failed') }}</view>
<view class="status-name" v-if="item.refund_status == 3">{{ $lang('order.activist.status.success') }}</view>
<view class="status-name color-base-text" v-if="item.refund_status == 1">{{ $lang('order.activist.status.processing') }}</view>
<view class="status-name color-base-text" v-if="item.refund_status == -1">{{ $lang('order.activist.status.failed') }}</view>
</view>
<view class="goods-wrap">
<image :src="$util.img(item.sku_image, { size: 'mid' })" @error="imageError(index)" mode="aspectFill" :lazy-load="true" show-menu-by-longpress></image>
@@ -26,11 +26,11 @@
</view>
<view class="goods-btn">
<view class="btn-text">
<text>{{ $lang('totalItems', { num: item.num }) }}</text>
<text>{{ $lang('refundAmount', { currency: $lang('common.currencySymbol'), amount: item.refund_status == 3 ? item.refund_real_money : item.refund_apply_money }) }}</text>
<text>{{ $lang('order.activist.totalItems', { num: item.num }) }}</text>
<text>{{ $lang('order.activist.refundAmount', { currency: $lang('common.currencySymbol'), amount: item.refund_status == 3 ? item.refund_real_money : item.refund_apply_money }) }}</text>
</view>
<view class="order-action">
<view class="order-box-btn" @click="refundDetail(item.order_goods_id)">{{ $lang('checkDetail') }}</view>
<view class="order-box-btn" @click="refundDetail(item.order_goods_id)">{{ $lang('order.activist.checkDetail') }}</view>
<block v-if="item.refund_action.length">
<view
class="order-box-btn"
@@ -46,7 +46,7 @@
</view>
</block>
<block v-else>
<view class="cart-empty" v-if="showEmpty"><ns-empty :isIndex="false" :text="$lang('emptyTips')"></ns-empty></view>
<view class="cart-empty" v-if="showEmpty"><ns-empty :isIndex="false" :text="$lang('order.activist.emptyTips')"></ns-empty></view>
</block>
</view>
</block>
@@ -112,7 +112,7 @@ export default {
this.cancleRefund(data.order_goods_id, res => {
if (res.code >= 0) {
this.$util.showToast({
title: this.$lang('toast.cancelSuccess')
title: this.$lang('order.activist.toast.cancelSuccess')
});
this.$refs.mescroll.refresh();
}

View File

@@ -1,12 +1,12 @@
<template>
<view :style="themeColor" class="invoice-container">
<view class="invoice-header">
<view class="header-title">{{ $lang('header.title') }}</view>
<view class="header-desc">{{ $lang('header.desc') }}</view>
<view class="header-title">{{ $lang('order.invoice.header.title') }}</view>
<view class="header-desc">{{ $lang('order.invoice.header.desc') }}</view>
</view>
<view class="invoice-section">
<view class="section-title">{{ $lang('invoiceType.title') }}</view>
<view class="section-title">{{ $lang('order.invoice.invoiceType.title') }}</view>
<view class="invoice-type-list">
<view
class="type-item"
@@ -16,8 +16,8 @@
<view class="type-icon">
<text class="iconfont icon-zhifubao"></text>
</view>
<view class="type-name">{{ $lang('invoiceType.paper') }}</view>
<view class="type-desc">{{ $lang('invoiceType.paperDesc') }}</view>
<view class="type-name">{{ $lang('order.invoice.invoiceType.paper') }}</view>
<view class="type-desc">{{ $lang('order.invoice.invoiceType.paperDesc') }}</view>
</view>
<view
class="type-item"
@@ -27,66 +27,66 @@
<view class="type-icon">
<text class="iconfont icon-weixinzhifu"></text>
</view>
<view class="type-name">{{ $lang('invoiceType.electronic') }}</view>
<view class="type-desc">{{ $lang('invoiceType.electronicDesc') }}</view>
<view class="type-name">{{ $lang('order.invoice.invoiceType.electronic') }}</view>
<view class="type-desc">{{ $lang('order.invoice.invoiceType.electronicDesc') }}</view>
</view>
</view>
</view>
<view class="invoice-section">
<view class="section-title">{{ $lang('invoiceTitle.title') }}</view>
<view class="section-title">{{ $lang('order.invoice.invoiceTitle.title') }}</view>
<view class="title-type-switch">
<view
class="switch-item"
:class="{ active: formData.invoice_title_type == 1 }"
@click="selectTitleType(1)"
>
{{ $lang('invoiceTitle.personal') }}
{{ $lang('order.invoice.invoiceTitle.personal') }}
</view>
<view
class="switch-item"
:class="{ active: formData.invoice_title_type == 2 }"
@click="selectTitleType(2)"
>
{{ $lang('invoiceTitle.company') }}
{{ $lang('order.invoice.invoiceTitle.company') }}
</view>
</view>
<view class="form-item">
<view class="form-label">
<text class="required">*</text>
{{ $lang('invoiceTitle.label') }}
{{ $lang('order.invoice.invoiceTitle.label') }}
</view>
<input
class="form-input"
type="text"
v-model="formData.invoice_title"
:placeholder="formData.invoice_title_type == 1 ? $lang('invoiceTitle.personalPlaceholder') : $lang('invoiceTitle.companyPlaceholder')"
:placeholder="formData.invoice_title_type == 1 ? $lang('order.invoice.invoiceTitle.personalPlaceholder') : $lang('order.invoice.invoiceTitle.companyPlaceholder')"
/>
</view>
<view class="form-item" v-if="formData.invoice_title_type == 2">
<view class="form-label">
<text class="required">*</text>
{{ $lang('invoiceTitle.taxpayerId') }}
{{ $lang('order.invoice.invoiceTitle.taxpayerId') }}
</view>
<input
class="form-input"
type="text"
v-model="formData.taxpayer_id"
:placeholder="$lang('invoiceTitle.taxpayerIdPlaceholder')"
:placeholder="$lang('order.invoice.invoiceTitle.taxpayerIdPlaceholder')"
/>
</view>
</view>
<view class="invoice-section">
<view class="section-title">{{ $lang('invoiceContent.title') }}</view>
<view class="section-title">{{ $lang('order.invoice.invoiceContent.title') }}</view>
<view class="form-item">
<view class="form-label">{{ $lang('invoiceContent.label') }}</view>
<view class="form-label">{{ $lang('order.invoice.invoiceContent.label') }}</view>
<picker mode="selector" :range="invoiceContentList" range-key="name" @change="onContentChange">
<view class="picker-value">
<text v-if="formData.invoice_content">{{ formData.invoice_content }}</text>
<text class="placeholder" v-else>{{ $lang('invoiceContent.placeholder') }}</text>
<text class="placeholder" v-else>{{ $lang('order.invoice.invoiceContent.placeholder') }}</text>
<text class="iconfont icon-youjiantou"></text>
</view>
</picker>
@@ -94,40 +94,40 @@
</view>
<view class="invoice-section" v-if="formData.invoice_type == 1">
<view class="section-title">{{ $lang('mailInfo.title') }}</view>
<view class="section-title">{{ $lang('order.invoice.mailInfo.title') }}</view>
<view class="form-item">
<view class="form-label">
<text class="required">*</text>
{{ $lang('mailInfo.receiver') }}
{{ $lang('order.invoice.mailInfo.receiver') }}
</view>
<input
class="form-input"
type="text"
v-model="formData.receiver_name"
:placeholder="$lang('mailInfo.receiverPlaceholder')"
:placeholder="$lang('order.invoice.mailInfo.receiverPlaceholder')"
/>
</view>
<view class="form-item">
<view class="form-label">
<text class="required">*</text>
{{ $lang('mailInfo.mobile') }}
{{ $lang('order.invoice.mailInfo.mobile') }}
</view>
<input
class="form-input"
type="number"
v-model="formData.receiver_mobile"
:placeholder="$lang('mailInfo.mobilePlaceholder')"
:placeholder="$lang('order.invoice.mailInfo.mobilePlaceholder')"
/>
</view>
<view class="form-item">
<view class="form-label">
<text class="required">*</text>
{{ $lang('mailInfo.address') }}
{{ $lang('order.invoice.mailInfo.address') }}
</view>
<pick-regions :level="3" @finish="onRegionFinish">
<view class="picker-value">
<text v-if="formData.region">{{ formData.region }}</text>
<text class="placeholder" v-else>{{ $lang('mailInfo.regionPlaceholder') }}</text>
<text class="placeholder" v-else>{{ $lang('order.invoice.mailInfo.regionPlaceholder') }}</text>
<text class="iconfont icon-youjiantou"></text>
</view>
</pick-regions>
@@ -135,47 +135,47 @@
<view class="form-item">
<view class="form-label">
<text class="required">*</text>
{{ $lang('mailInfo.detailAddress') }}
{{ $lang('order.invoice.mailInfo.detailAddress') }}
</view>
<input
class="form-input"
type="text"
v-model="formData.address"
:placeholder="$lang('mailInfo.detailAddressPlaceholder')"
:placeholder="$lang('order.invoice.mailInfo.detailAddressPlaceholder')"
/>
</view>
</view>
<view class="invoice-section" v-if="formData.invoice_type == 2">
<view class="section-title">{{ $lang('emailInfo.title') }}</view>
<view class="section-title">{{ $lang('order.invoice.emailInfo.title') }}</view>
<view class="form-item">
<view class="form-label">
<text class="required">*</text>
{{ $lang('emailInfo.receiverEmail') }}
{{ $lang('order.invoice.emailInfo.receiverEmail') }}
</view>
<input
class="form-input"
type="text"
v-model="formData.invoice_email"
:placeholder="$lang('emailInfo.emailPlaceholder')"
:placeholder="$lang('order.invoice.emailInfo.emailPlaceholder')"
/>
</view>
</view>
<view class="invoice-fee" v-if="invoiceData && invoiceData.invoice_money > 0">
<view class="fee-item">
<text class="fee-label">{{ $lang('fee.taxFee') }}</text>
<text class="fee-label">{{ $lang('order.invoice.fee.taxFee') }}</text>
<text class="fee-value">¥{{ invoiceData.invoice_money }}</text>
</view>
<view class="fee-item" v-if="formData.invoice_type == 1 && invoiceData.invoice_delivery_money > 0">
<text class="fee-label">{{ $lang('fee.deliveryFee') }}</text>
<text class="fee-label">{{ $lang('order.invoice.fee.deliveryFee') }}</text>
<text class="fee-value">¥{{ invoiceData.invoice_delivery_money }}</text>
</view>
</view>
<view class="invoice-footer">
<view class="footer-tip">{{ $lang('footer.tip', { days: 3 }) }}</view>
<view class="submit-btn" @click="submitInvoice">{{ $lang('footer.submit') }}</view>
<view class="footer-tip">{{ $lang('order.invoice.footer.tip', { days: 3 }) }}</view>
<view class="submit-btn" @click="submitInvoice">{{ $lang('order.invoice.footer.submit') }}</view>
</view>
<loading-cover ref="loadingCover"></loading-cover>
@@ -244,7 +244,7 @@ export default {
}
} else {
this.$util.showToast({
title: res.message || this.$lang('api.getConfigFailed')
title: res.message || this.$lang('order.invoice.api.getConfigFailed')
});
}
}
@@ -253,44 +253,44 @@ export default {
validateForm() {
if (!this.formData.invoice_title) {
this.$util.showToast({
title: this.$lang('validation.pleaseEnterTitle')
title: this.$lang('order.invoice.validation.pleaseEnterTitle')
});
return false;
}
if (this.formData.invoice_title_type == 2 && !this.formData.taxpayer_id) {
this.$util.showToast({
title: this.$lang('validation.pleaseEnterTaxpayerId')
title: this.$lang('order.invoice.validation.pleaseEnterTaxpayerId')
});
return false;
}
if (!this.formData.invoice_content) {
this.$util.showToast({
title: this.$lang('validation.pleaseSelectContent')
title: this.$lang('order.invoice.validation.pleaseSelectContent')
});
return false;
}
if (this.formData.invoice_type == 1) {
if (!this.formData.receiver_name) {
this.$util.showToast({
title: this.$lang('validation.pleaseEnterReceiver')
title: this.$lang('order.invoice.validation.pleaseEnterReceiver')
});
return false;
}
if (!this.formData.receiver_mobile) {
this.$util.showToast({
title: this.$lang('validation.pleaseEnterMobile')
title: this.$lang('order.invoice.validation.pleaseEnterMobile')
});
return false;
}
if (!this.formData.region_id) {
this.$util.showToast({
title: this.$lang('validation.pleaseSelectRegion')
title: this.$lang('order.invoice.validation.pleaseSelectRegion')
});
return false;
}
if (!this.formData.address) {
this.$util.showToast({
title: this.$lang('validation.pleaseEnterAddress')
title: this.$lang('order.invoice.validation.pleaseEnterAddress')
});
return false;
}
@@ -298,14 +298,14 @@ export default {
if (this.formData.invoice_type == 2) {
if (!this.formData.invoice_email) {
this.$util.showToast({
title: this.$lang('validation.pleaseEnterEmail')
title: this.$lang('order.invoice.validation.pleaseEnterEmail')
});
return false;
}
const emailReg = /^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$/;
if (!emailReg.test(this.formData.invoice_email)) {
this.$util.showToast({
title: this.$lang('validation.invalidEmail')
title: this.$lang('order.invoice.validation.invalidEmail')
});
return false;
}
@@ -325,21 +325,21 @@ export default {
this.$refs.loadingCover.hide();
if (res.code >= 0) {
this.$util.showToast({
title: this.$lang('api.submitSuccess')
title: this.$lang('order.invoice.api.submitSuccess')
});
setTimeout(() => {
uni.navigateBack();
}, 1500);
} else {
this.$util.showToast({
title: res.message || this.$lang('api.submitFailed')
title: res.message || this.$lang('order.invoice.api.submitFailed')
});
}
},
fail: () => {
this.$refs.loadingCover.hide();
this.$util.showToast({
title: this.$lang('api.networkError')
title: this.$lang('order.invoice.api.networkError')
});
}
});

View File

@@ -34,11 +34,11 @@
<view class="company-logo"><image :src="$util.img(packageItem.express_company_image)" show-menu-by-longpress></image></view>
<view class="info">
<view class="company">
<text>{{ $lang('order.logistics.expressCompany') }}{{ packageItem.express_company_name }}</text>
<text>{{ $lang('order.logistics.order.logistics.expressCompany') }}{{ packageItem.express_company_name }}</text>
</view>
<view class="no">
<text>
{{ $lang('order.logistics.trackingNo') }}
{{ $lang('order.logistics.order.logistics.trackingNo') }}
<text class="color-tip">{{ packageItem.delivery_no }}</text>
</text>
<text class="iconfont icon-fuzhi" @click="copyDeliveryNo(packageItem.delivery_no)"></text>
@@ -124,7 +124,7 @@ export default {
if (this.$refs.loadingCover) this.$refs.loadingCover.hide();
} else {
this.$util.showToast({
title: this.$lang('order.logistics.orderInfoNotFound')
title: this.$lang('order.logistics.order.logistics.orderInfoNotFound')
});
setTimeout(() => {
this.$util.redirectTo('/pages_order/list');

View File

@@ -7,8 +7,8 @@ export default {
*/
cancleRefund(order_goods_id, callback) {
uni.showModal({
content: this.$lang('cancelRefund.content'),
cancelText: this.$lang('cancelRefund.cancelText'),
content: this.$lang('order.refund.refund.cancelRefundContent'),
cancelText: this.$lang('order.refund.refund.cancelRefundCancelText'),
cancelColor: '#898989',
success: res => {
if (res.confirm) {

View File

@@ -14,15 +14,15 @@
<view class="refund-option" v-show="!refund_type">
<view class="option-item" @click="selectRefundType(1)">
<view>
<text>{{ $lang('refundType.refundOnly') }}</text>
<text class="font-size-goods-tag color-tip">{{ $lang('refundType.refundOnlyDesc') }}</text>
<text>{{ $lang('order.refund.refundType.refundOnly') }}</text>
<text class="font-size-goods-tag color-tip">{{ $lang('order.refund.refundType.refundOnlyDesc') }}</text>
</view>
<text class="iconfont icon-right"></text>
</view>
<view class="option-item" @click="selectRefundType(2)" v-if="refund_data.refund_type.length == 2">
<view>
<text>{{ $lang('refundType.returnRefund') }}</text>
<text class="font-size-goods-tag color-tip">{{ $lang('refundType.returnRefundDesc') }}</text>
<text>{{ $lang('order.refund.refundType.returnRefund') }}</text>
<text class="font-size-goods-tag color-tip">{{ $lang('order.refund.refundType.returnRefundDesc') }}</text>
</view>
<text class="iconfont icon-right"></text>
</view>
@@ -31,27 +31,27 @@
<view v-show="refund_type">
<view class="refund-form">
<view class="item-wrap" @click="openPopup('refundReasonPopup')">
<view class="label">{{ $lang('form.refundReason') }}</view>
<view class="label">{{ $lang('order.refund.form.refundReason') }}</view>
<view class="cont reason">
<text class="color-tip" v-if="!refund_reason.length">{{ $lang('form.pleaseSelect') }}</text>
<text class="color-tip" v-if="!refund_reason.length">{{ $lang('order.refund.form.pleaseSelect') }}</text>
<text class="color-tip" v-else>{{ refund_reason }}</text>
</view>
<text class="iconfont icon-right"></text>
</view>
<view class="item-wrap">
<view class="label">{{ $lang('form.refundAmount') }}</view>
<view class="label">{{ $lang('order.refund.form.refundAmount') }}</view>
<view class="cont color-base-text">{{ $lang('common.currencySymbol') }}{{ refund_data.refund_money }}</view>
</view>
</view>
<view class="refund-form">
<view class="item-wrap"><view class="label active">{{ $lang('form.refundRemark') }}</view></view>
<view class="item-wrap"><view class="label active">{{ $lang('order.refund.form.refundRemark') }}</view></view>
<!-- #ifdef MP-WEIXIN -->
<textarea
v-if="!showText"
class="newText"
:placeholder="$lang('form.remarkPlaceholder')"
:placeholder="$lang('order.refund.form.remarkPlaceholder')"
placeholder-class="color-tip font-size-tag"
:auto-height="true"
v-model="refund_remark"
@@ -60,7 +60,7 @@
<!-- #ifdef H5 -->
<textarea
class="newText"
:placeholder="$lang('form.remarkPlaceholder')"
:placeholder="$lang('order.refund.form.remarkPlaceholder')"
@blur="textBlur()"
placeholder-class="color-tip font-size-tag"
:auto-height="true"
@@ -78,7 +78,7 @@
<uni-popup ref="refundReasonPopup" type="bottom" @change="change()">
<view class="refund-reason-popup popup">
<view class="popup-header">
<view><text class="tit">{{ $lang('reasonPopup.title') }}</text></view>
<view><text class="tit">{{ $lang('order.refund.reasonPopup.title') }}</text></view>
<view class="align-right" @click="closePopup('refundReasonPopup')"><text class="iconfont icon-close"></text></view>
</view>
<view class="popup-body">
@@ -92,7 +92,7 @@
</scroll-view>
</view>
<view class="popup-footer" :class="{ 'bottom-safe-area': isIphoneX }">
<view class="confirm-btn color-base-bg" @click="closePopup('refundReasonPopup')">{{ $lang('reasonPopup.confirm') }}</view>
<view class="confirm-btn color-base-bg" @click="closePopup('refundReasonPopup')">{{ $lang('order.refund.reasonPopup.confirm') }}</view>
</view>
</view>
</uni-popup>
@@ -172,7 +172,7 @@ export default {
this.refund_data = res.data;
if (this.$refs.loadingCover) this.$refs.loadingCover.hide();
} else {
this.$util.showToast({ title: this.$lang('toast.noRefundInfo') });
this.$util.showToast({ title: this.$lang('order.refund.toast.noRefundInfo') });
setTimeout(() => {
this.$util.redirectTo('/pages_order/list');
}, 1000);
@@ -239,7 +239,7 @@ export default {
},
verify() {
if (this.refund_reason == '') {
this.$util.showToast({ title: this.$lang('validate.pleaseSelectRefundReason') });
this.$util.showToast({ title: this.$lang('order.refund.validate.pleaseSelectRefundReason') });
return false;
}
return true;

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">{{ $lang('statusTip.merchantReject') }}</view>
<view class="font-size-goods-tag color-tip">{{ $lang('statusTip.merchantAgree') }}</view>
<view class="font-size-goods-tag color-tip">{{ $lang('order.refund_detail.statusTip.merchantReject') }}</view>
<view class="font-size-goods-tag color-tip">{{ $lang('order.refund_detail.statusTip.merchantAgree') }}</view>
<!-- <view class="font-size-goods-tag color-tip">如果商家逾期未处理,平台将自动通过申请并退款给你</view> -->
</view>
<view class="refund-explain" v-if="detail.refund_status == 5">
<view class="font-size-goods-tag color-tip">{{ $lang('statusTip.merchantConfirmReceive') }}</view>
<view class="font-size-goods-tag color-tip">{{ $lang('statusTip.merchantRejectReceive') }}</view>
<view class="font-size-goods-tag color-tip">{{ $lang('order.refund_detail.statusTip.merchantConfirmReceive') }}</view>
<view class="font-size-goods-tag color-tip">{{ $lang('order.refund_detail.statusTip.merchantRejectReceive') }}</view>
</view>
</view>
<view class="history-wrap" @click="switchAction('consultrecord')">
<view>{{ $lang('consultRecord') }}</view>
<view>{{ $lang('order.refund_detail.consultRecord') }}</view>
<text class="iconfont icon-right"></text>
</view>
<view class="refund-address-wrap" v-if="detail.refund_status == 4">
<view class="header">{{ $lang('returnAddress.title') }}</view>
<view class="header">{{ $lang('order.refund_detail.returnAddress.title') }}</view>
<view>
<text>{{ $lang('returnAddress.receiver') }}{{ detail.shop_contacts }}</text>
<text>{{ $lang('order.refund_detail.returnAddress.receiver') }}{{ detail.shop_contacts }}</text>
</view>
<view>
<text>{{ $lang('returnAddress.contact') }}{{ detail.shop_mobile }}</text>
<text>{{ $lang('order.refund_detail.returnAddress.contact') }}{{ detail.shop_mobile }}</text>
</view>
<view>
<text class="address">{{ $lang('returnAddress.address') }}{{ detail.shop_address }}</text>
<view class="copy" @click="$util.copy(detail.shop_address)">{{ $lang('returnAddress.copy') }}</view>
<text class="address">{{ $lang('order.refund_detail.returnAddress.address') }}{{ detail.shop_address }}</text>
<view class="copy" @click="$util.copy(detail.shop_address)">{{ $lang('order.refund_detail.returnAddress.copy') }}</view>
</view>
</view>
<view class="refund-info">
<view class="header">{{ $lang('refundInfo.title') }}</view>
<view class="header">{{ $lang('order.refund_detail.refundInfo.title') }}</view>
<view class="body">
<!-- 商品信息 -->
<view class="goods-wrap">
@@ -48,16 +48,16 @@
</view>
<!-- 退款信息 -->
<view class="info">
<view class="cell">{{ $lang('refundInfo.refundMethod') }}{{ detail.refund_type == 1 ? $lang('refundInfo.refundOnly') : $lang('refundInfo.refundReturn') }}</view>
<view class="cell" v-if="detail.refund_status == 3">{{ $lang('refundInfo.refundChannel') }}{{ detail.refund_money_type == 1 ? $lang('refundInfo.originalRefund') : detail.refund_money_type == 2 ? $lang('refundInfo.offlineRefund') : $lang('refundInfo.balanceRefund') }}</view>
<view class="cell">{{ $lang('refundInfo.refundReason') }}{{ detail.refund_reason }}</view>
<view class="cell" v-if="detail.refund_status == 3 && detail.refund_real_money>0">{{ $lang('refundInfo.refundAmount') }}{{ $lang('common.currencySymbol') }}{{ detail.refund_real_money }}</view>
<view class="cell" v-else-if="detail.refund_apply_money>0">{{ $lang('refundInfo.refundAmount') }}{{ $lang('common.currencySymbol') }}{{ detail.refund_apply_money }}</view>
<view class="cell">{{ $lang('refundInfo.refundNo') }}{{ detail.refund_no }}</view>
<view class="cell">{{ $lang('refundInfo.applyTime') }}{{ $util.timeStampTurnTime(detail.refund_action_time) }}</view>
<view class="cell" v-if="detail.refund_time">{{ $lang('refundInfo.refundTime') }}{{ $util.timeStampTurnTime(detail.refund_time) }}</view>
<view class="cell" v-if="detail.refund_remark != ''">{{ $lang('refundInfo.refundRemark') }}{{ detail.refund_remark }}</view>
<view class="cell" v-if="detail.use_point>0">{{ $lang('refundInfo.refundPoint') }}{{ detail.use_point }}</view>
<view class="cell">{{ $lang('order.refund_detail.refundInfo.refundMethod') }}{{ detail.refund_type == 1 ? $lang('order.refund_detail.refundInfo.refundOnly') : $lang('order.refund_detail.refundInfo.refundReturn') }}</view>
<view class="cell" v-if="detail.refund_status == 3">{{ $lang('order.refund_detail.refundInfo.refundChannel') }}{{ detail.refund_money_type == 1 ? $lang('order.refund_detail.refundInfo.originalRefund') : detail.refund_money_type == 2 ? $lang('order.refund_detail.refundInfo.offlineRefund') : $lang('order.refund_detail.refundInfo.balanceRefund') }}</view>
<view class="cell">{{ $lang('order.refund_detail.refundInfo.refundReason') }}{{ detail.refund_reason }}</view>
<view class="cell" v-if="detail.refund_status == 3 && detail.refund_real_money>0">{{ $lang('order.refund_detail.refundInfo.refundAmount') }}{{ $lang('common.currencySymbol') }}{{ detail.refund_real_money }}</view>
<view class="cell" v-else-if="detail.refund_apply_money>0">{{ $lang('order.refund_detail.refundInfo.refundAmount') }}{{ $lang('common.currencySymbol') }}{{ detail.refund_apply_money }}</view>
<view class="cell">{{ $lang('order.refund_detail.refundInfo.refundNo') }}{{ detail.refund_no }}</view>
<view class="cell">{{ $lang('order.refund_detail.refundInfo.applyTime') }}{{ $util.timeStampTurnTime(detail.refund_action_time) }}</view>
<view class="cell" v-if="detail.refund_time">{{ $lang('order.refund_detail.refundInfo.refundTime') }}{{ $util.timeStampTurnTime(detail.refund_time) }}</view>
<view class="cell" v-if="detail.refund_remark != ''">{{ $lang('order.refund_detail.refundInfo.refundRemark') }}{{ detail.refund_remark }}</view>
<view class="cell" v-if="detail.use_point>0">{{ $lang('order.refund_detail.refundInfo.refundPoint') }}{{ detail.use_point }}</view>
</view>
</view>
</view>
@@ -73,11 +73,11 @@
<view class="return-goods-container">
<view class="form-wrap">
<view class="item">
<view class="label">{{ $lang('returnGoods.expressCompany') }}</view>
<view class="label">{{ $lang('order.refund_detail.returnGoods.expressCompany') }}</view>
<view class="cont">
<input
type="text"
:placeholder="$lang('returnGoods.expressCompanyPlaceholder')"
:placeholder="$lang('order.refund_detail.returnGoods.expressCompanyPlaceholder')"
class="input"
placeholder-class="input-placeholder color-tip"
v-model="formData.refund_delivery_name"
@@ -85,11 +85,11 @@
</view>
</view>
<view class="item">
<view class="label">{{ $lang('returnGoods.expressNo') }}</view>
<view class="label">{{ $lang('order.refund_detail.returnGoods.expressNo') }}</view>
<view class="cont">
<input
type="text"
:placeholder="$lang('returnGoods.expressNoPlaceholder')"
:placeholder="$lang('order.refund_detail.returnGoods.expressNoPlaceholder')"
class="input"
placeholder-class="input-placeholder color-tip"
v-model="formData.refund_delivery_no"
@@ -97,13 +97,13 @@
</view>
</view>
<view class="item">
<view class="label">{{ $lang('returnGoods.expressRemark') }}</view>
<view class="label">{{ $lang('order.refund_detail.returnGoods.expressRemark') }}</view>
<view class="cont">
<textarea
placeholder-class="color-tip font-size-tag"
:auto-height="true"
class="textarea"
:placeholder="$lang('returnGoods.expressRemarkPlaceholder')"
:placeholder="$lang('order.refund_detail.returnGoods.expressRemarkPlaceholder')"
v-model="formData.refund_delivery_remark"
/>
</view>
@@ -118,7 +118,7 @@
<view class="record-item" :class="logItem.action_way == 1 ? 'buyer' : ''" v-for="(logItem, logIndex) in detail.refund_log_list" :key="logIndex">
<view class="cont">
<view class="head">
<text>{{ logItem.action_way == 1 ? $lang('record.buyer') : $lang('record.seller') }}</text>
<text>{{ logItem.action_way == 1 ? $lang('order.refund_detail.record.buyer') : $lang('order.refund_detail.record.seller') }}</text>
<text class="time">{{ $util.timeStampTurnTime(logItem.action_time) }}</text>
</view>
<view class="body">
@@ -136,7 +136,7 @@
<text>联系客服</text>
</view>
</ns-contact> -->
<view @click="switchAction('')">{{ $lang('record.backToDetail') }}</view>
<view @click="switchAction('')">{{ $lang('order.refund_detail.record.backToDetail') }}</view>
</view>
</view>
</scroll-view>
@@ -190,7 +190,7 @@ export default {
this.detail = res.data;
if (this.$refs.loadingCover) this.$refs.loadingCover.hide();
} else {
this.$util.showToast({ title: this.$lang('toast.noRefundInfo') });
this.$util.showToast({ title: this.$lang('order.refund_detail.toast.noRefundInfo') });
setTimeout(() => {
this.$util.redirectTo('/pages_order/list');
}, 1000);
@@ -206,7 +206,7 @@ export default {
case 'orderRefundCancel':
this.cancleRefund(this.detail.order_goods_id, res => {
if (res.code >= 0) {
this.$util.showToast({ title: this.$lang('toast.cancelSuccess') });
this.$util.showToast({ title: this.$lang('order.refund_detail.toast.cancelSuccess') });
setTimeout(() => {
this.$util.redirectTo('/pages_order/list');
}, 1000);
@@ -223,8 +223,8 @@ export default {
},
refurnGoods() {
var rule = [
{ name: 'refund_delivery_name', checkType: 'required', errorMsg: this.$lang('validate.pleaseInputExpressCompany') },
{ name: 'refund_delivery_no', checkType: 'required', errorMsg: this.$lang('validate.pleaseInputExpressNo') }
{ name: 'refund_delivery_name', checkType: 'required', errorMsg: this.$lang('order.refund_detail.validate.pleaseInputExpressCompany') },
{ name: 'refund_delivery_no', checkType: 'required', errorMsg: this.$lang('order.refund_detail.validate.pleaseInputExpressNo') }
];
this.formData.order_goods_id = this.order_goods_id;
var checkRes = validate.check(this.formData, rule);

View File

@@ -1,7 +1,7 @@
<template>
<view class="goods-select" :style="themeColor">
<view class="top">
{{ $lang('totalItems', { count: refund_data.length }) }}
{{ $lang('order.refund_goods_select.totalItems', { count: refund_data.length }) }}
</view>
<view class="body">
@@ -24,8 +24,8 @@
<text v-else class="iconfont icon-yuan_checkbox"></text> -->
</view>
<view v-if="nexthover" class="next" @click="next">{{ $lang('next') }}</view>
<view v-else class="next nexthover">{{ $lang('selectGoods') }}</view>
<view v-if="nexthover" class="next" @click="next">{{ $lang('order.refund_goods_select.next') }}</view>
<view v-else class="next nexthover">{{ $lang('order.refund_goods_select.selectGoods') }}</view>
</view>
<!-- <loading-cover ref="loadingCover"></loading-cover> -->
@@ -50,7 +50,7 @@
this.getGoodsInfo()
} else{
uni.showToast({
title: this.$lang('orderInfoNotFound'),
title: this.$lang('order.refund_goods_select.orderInfoNotFound'),
icon:'none'
})
setTimeout(()=>{

View File

@@ -4,15 +4,15 @@
<view class="refund-option">
<view class="option-item" @click="selectRefundType(1)">
<view>
<text>{{ $lang('refundTypeSelect.refundOnly') }}</text>
<text class="font-size-goods-tag color-tip">{{ $lang('refundTypeSelect.refundOnlyDesc') }}</text>
<text>{{ $lang('order.refund_type_select.refundTypeSelect.refundOnly') }}</text>
<text class="font-size-goods-tag color-tip">{{ $lang('order.refund_type_select.refundTypeSelect.refundOnlyDesc') }}</text>
</view>
<text class="iconfont icon-right"></text>
</view>
<view class="option-item" @click="selectRefundType(2)" v-if="refund_data.order_status == 3">
<view>
<text>{{ $lang('refundTypeSelect.returnRefund') }}</text>
<text class="font-size-goods-tag color-tip">{{ $lang('refundTypeSelect.returnRefundDesc') }}</text>
<text>{{ $lang('order.refund_type_select.refundTypeSelect.returnRefund') }}</text>
<text class="font-size-goods-tag color-tip">{{ $lang('order.refund_type_select.refundTypeSelect.returnRefundDesc') }}</text>
</view>
<text class="iconfont icon-right"></text>
</view>
@@ -75,7 +75,7 @@
if (this.$refs.loadingCover) this.$refs.loadingCover.hide();
} else {
this.$util.showToast({
title: this.$lang('toast.noRefundInfo')
title: this.$lang('order.refund_type_select.toast.noRefundInfo')
});
setTimeout(() => {
this.$util.redirectTo('/pages_order/list');

View File

@@ -13,7 +13,7 @@
<view class="payment-item" v-for="(item, index) in payTypeList" :key="index" @click="payIndex = index">
<view>
<text class="iconfont" :class="item.icon"></text>
<text class="name">{{ $lang('pay.cashier.' + item.type, item.name) }}</text>
<text class="name">{{ $lang(item.i18nKey, item.name) }}</text>
</view>
<text class="iconfont" :class="payIndex == index ? 'icon-yuan_checked color-base-text' : 'icon-checkboxblank'"></text>
</view>
@@ -42,12 +42,14 @@ export default {
{
name: '支付宝支付',
icon: 'icon-zhifubaozhifu-',
type: 'alipay'
type: 'alipay',
i18nKey: 'pay.cashier.alipay'
},
{
name: '微信支付',
icon: 'icon-weixin1',
type: 'wechatpay'
type: 'wechatpay',
i18nKey: 'pay.cashier.wechatpay'
}
],
timer: null,
@@ -57,7 +59,8 @@ export default {
name: '微信支付',
provider: 'wxpay',
icon: 'icon-weixin1',
type: 'wechatpay'
type: 'wechatpay',
i18nKey: 'pay.cashier.wechatpay'
}],
// #endif
payInfo: null,

View File

@@ -2,7 +2,7 @@
<view :style="themeColor">
<scroll-view scroll-y="true" class="pay-container">
<view class="payment-amount">
<text class="amount-tit">{{ $lang('paymentAmount') }}</text>
<text class="amount-tit">{{ $lang('pay.index.paymentAmount') }}</text>
<view class="amount-num">
{{ $lang('common.currencySymbol') }}
<text>{{ payInfo.pay_money }}</text>

View File

@@ -3,7 +3,7 @@
<view class="mask-img">
<image :src="$util.img('public/uniapp/pay/invite_friends_share.png')" mode="aspectFit" show-menu-by-longpress></image>
</view>
<view class="mask-word">{{ $lang('pay.wxPay.openInBrowserTip') }}</view>
<view class="mask-word">{{ $lang('pay.wx_pay.openInBrowserTip') }}</view>
</view>
</template>
<script>

View File

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

View File

@@ -13,7 +13,7 @@
</view>
</view>
<view class="order-body">
<view class="goods_info_flex"><view class="goods-name font-size-base">{{ $lang('recharge.rechargeSuccess') }}</view></view>
<view class="goods_info_flex"><view class="goods-name font-size-base">{{ $lang('recharge.order_list.recharge.rechargeSuccess') }}</view></view>
<view class="goods-img color-base-text">
¥
@@ -31,7 +31,7 @@
</view>
</view>
</block>
<view v-else><ns-empty :isIndex="false" :text="$lang('recharge.noRecord')"></ns-empty></view>
<view v-else><ns-empty :isIndex="false" :text="$lang('recharge.order_list.recharge.noRecord')"></ns-empty></view>
</block>
</mescroll-uni>
<loading-cover ref="loadingCover"></loading-cover>