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:
@@ -7,9 +7,9 @@
|
||||
<view class="order-item" v-for="(item, index) in refundList" :key="index">
|
||||
<view class="order-header">
|
||||
<text class="status-num font-size-base">{{ item.order_no }}</text>
|
||||
<view class="status-name" v-if="item.refund_status == 3">{{ $lang('status.success') }}</view>
|
||||
<view class="status-name color-base-text" v-if="item.refund_status == 1">{{ $lang('status.processing') }}</view>
|
||||
<view class="status-name color-base-text" v-if="item.refund_status == -1">{{ $lang('status.failed') }}</view>
|
||||
<view class="status-name" v-if="item.refund_status == 3">{{ $lang('order.activist.status.success') }}</view>
|
||||
<view class="status-name color-base-text" v-if="item.refund_status == 1">{{ $lang('order.activist.status.processing') }}</view>
|
||||
<view class="status-name color-base-text" v-if="item.refund_status == -1">{{ $lang('order.activist.status.failed') }}</view>
|
||||
</view>
|
||||
<view class="goods-wrap">
|
||||
<image :src="$util.img(item.sku_image, { size: 'mid' })" @error="imageError(index)" mode="aspectFill" :lazy-load="true" show-menu-by-longpress></image>
|
||||
@@ -26,11 +26,11 @@
|
||||
</view>
|
||||
<view class="goods-btn">
|
||||
<view class="btn-text">
|
||||
<text>{{ $lang('totalItems', { num: item.num }) }}</text>
|
||||
<text>{{ $lang('refundAmount', { currency: $lang('common.currencySymbol'), amount: item.refund_status == 3 ? item.refund_real_money : item.refund_apply_money }) }}</text>
|
||||
<text>{{ $lang('order.activist.totalItems', { num: item.num }) }}</text>
|
||||
<text>{{ $lang('order.activist.refundAmount', { currency: $lang('common.currencySymbol'), amount: item.refund_status == 3 ? item.refund_real_money : item.refund_apply_money }) }}</text>
|
||||
</view>
|
||||
<view class="order-action">
|
||||
<view class="order-box-btn" @click="refundDetail(item.order_goods_id)">{{ $lang('checkDetail') }}</view>
|
||||
<view class="order-box-btn" @click="refundDetail(item.order_goods_id)">{{ $lang('order.activist.checkDetail') }}</view>
|
||||
<block v-if="item.refund_action.length">
|
||||
<view
|
||||
class="order-box-btn"
|
||||
@@ -46,7 +46,7 @@
|
||||
</view>
|
||||
</block>
|
||||
<block v-else>
|
||||
<view class="cart-empty" v-if="showEmpty"><ns-empty :isIndex="false" :text="$lang('emptyTips')"></ns-empty></view>
|
||||
<view class="cart-empty" v-if="showEmpty"><ns-empty :isIndex="false" :text="$lang('order.activist.emptyTips')"></ns-empty></view>
|
||||
</block>
|
||||
</view>
|
||||
</block>
|
||||
@@ -112,7 +112,7 @@ export default {
|
||||
this.cancleRefund(data.order_goods_id, res => {
|
||||
if (res.code >= 0) {
|
||||
this.$util.showToast({
|
||||
title: this.$lang('toast.cancelSuccess')
|
||||
title: this.$lang('order.activist.toast.cancelSuccess')
|
||||
});
|
||||
this.$refs.mescroll.refresh();
|
||||
}
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
<template>
|
||||
<view :style="themeColor" class="invoice-container">
|
||||
<view class="invoice-header">
|
||||
<view class="header-title">{{ $lang('header.title') }}</view>
|
||||
<view class="header-desc">{{ $lang('header.desc') }}</view>
|
||||
<view class="header-title">{{ $lang('order.invoice.header.title') }}</view>
|
||||
<view class="header-desc">{{ $lang('order.invoice.header.desc') }}</view>
|
||||
</view>
|
||||
|
||||
<view class="invoice-section">
|
||||
<view class="section-title">{{ $lang('invoiceType.title') }}</view>
|
||||
<view class="section-title">{{ $lang('order.invoice.invoiceType.title') }}</view>
|
||||
<view class="invoice-type-list">
|
||||
<view
|
||||
class="type-item"
|
||||
@@ -16,8 +16,8 @@
|
||||
<view class="type-icon">
|
||||
<text class="iconfont icon-zhifubao"></text>
|
||||
</view>
|
||||
<view class="type-name">{{ $lang('invoiceType.paper') }}</view>
|
||||
<view class="type-desc">{{ $lang('invoiceType.paperDesc') }}</view>
|
||||
<view class="type-name">{{ $lang('order.invoice.invoiceType.paper') }}</view>
|
||||
<view class="type-desc">{{ $lang('order.invoice.invoiceType.paperDesc') }}</view>
|
||||
</view>
|
||||
<view
|
||||
class="type-item"
|
||||
@@ -27,66 +27,66 @@
|
||||
<view class="type-icon">
|
||||
<text class="iconfont icon-weixinzhifu"></text>
|
||||
</view>
|
||||
<view class="type-name">{{ $lang('invoiceType.electronic') }}</view>
|
||||
<view class="type-desc">{{ $lang('invoiceType.electronicDesc') }}</view>
|
||||
<view class="type-name">{{ $lang('order.invoice.invoiceType.electronic') }}</view>
|
||||
<view class="type-desc">{{ $lang('order.invoice.invoiceType.electronicDesc') }}</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="invoice-section">
|
||||
<view class="section-title">{{ $lang('invoiceTitle.title') }}</view>
|
||||
<view class="section-title">{{ $lang('order.invoice.invoiceTitle.title') }}</view>
|
||||
<view class="title-type-switch">
|
||||
<view
|
||||
class="switch-item"
|
||||
:class="{ active: formData.invoice_title_type == 1 }"
|
||||
@click="selectTitleType(1)"
|
||||
>
|
||||
{{ $lang('invoiceTitle.personal') }}
|
||||
{{ $lang('order.invoice.invoiceTitle.personal') }}
|
||||
</view>
|
||||
<view
|
||||
class="switch-item"
|
||||
:class="{ active: formData.invoice_title_type == 2 }"
|
||||
@click="selectTitleType(2)"
|
||||
>
|
||||
{{ $lang('invoiceTitle.company') }}
|
||||
{{ $lang('order.invoice.invoiceTitle.company') }}
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="form-item">
|
||||
<view class="form-label">
|
||||
<text class="required">*</text>
|
||||
{{ $lang('invoiceTitle.label') }}
|
||||
{{ $lang('order.invoice.invoiceTitle.label') }}
|
||||
</view>
|
||||
<input
|
||||
class="form-input"
|
||||
type="text"
|
||||
v-model="formData.invoice_title"
|
||||
:placeholder="formData.invoice_title_type == 1 ? $lang('invoiceTitle.personalPlaceholder') : $lang('invoiceTitle.companyPlaceholder')"
|
||||
:placeholder="formData.invoice_title_type == 1 ? $lang('order.invoice.invoiceTitle.personalPlaceholder') : $lang('order.invoice.invoiceTitle.companyPlaceholder')"
|
||||
/>
|
||||
</view>
|
||||
|
||||
<view class="form-item" v-if="formData.invoice_title_type == 2">
|
||||
<view class="form-label">
|
||||
<text class="required">*</text>
|
||||
{{ $lang('invoiceTitle.taxpayerId') }}
|
||||
{{ $lang('order.invoice.invoiceTitle.taxpayerId') }}
|
||||
</view>
|
||||
<input
|
||||
class="form-input"
|
||||
type="text"
|
||||
v-model="formData.taxpayer_id"
|
||||
:placeholder="$lang('invoiceTitle.taxpayerIdPlaceholder')"
|
||||
:placeholder="$lang('order.invoice.invoiceTitle.taxpayerIdPlaceholder')"
|
||||
/>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="invoice-section">
|
||||
<view class="section-title">{{ $lang('invoiceContent.title') }}</view>
|
||||
<view class="section-title">{{ $lang('order.invoice.invoiceContent.title') }}</view>
|
||||
<view class="form-item">
|
||||
<view class="form-label">{{ $lang('invoiceContent.label') }}</view>
|
||||
<view class="form-label">{{ $lang('order.invoice.invoiceContent.label') }}</view>
|
||||
<picker mode="selector" :range="invoiceContentList" range-key="name" @change="onContentChange">
|
||||
<view class="picker-value">
|
||||
<text v-if="formData.invoice_content">{{ formData.invoice_content }}</text>
|
||||
<text class="placeholder" v-else>{{ $lang('invoiceContent.placeholder') }}</text>
|
||||
<text class="placeholder" v-else>{{ $lang('order.invoice.invoiceContent.placeholder') }}</text>
|
||||
<text class="iconfont icon-youjiantou"></text>
|
||||
</view>
|
||||
</picker>
|
||||
@@ -94,40 +94,40 @@
|
||||
</view>
|
||||
|
||||
<view class="invoice-section" v-if="formData.invoice_type == 1">
|
||||
<view class="section-title">{{ $lang('mailInfo.title') }}</view>
|
||||
<view class="section-title">{{ $lang('order.invoice.mailInfo.title') }}</view>
|
||||
<view class="form-item">
|
||||
<view class="form-label">
|
||||
<text class="required">*</text>
|
||||
{{ $lang('mailInfo.receiver') }}
|
||||
{{ $lang('order.invoice.mailInfo.receiver') }}
|
||||
</view>
|
||||
<input
|
||||
class="form-input"
|
||||
type="text"
|
||||
v-model="formData.receiver_name"
|
||||
:placeholder="$lang('mailInfo.receiverPlaceholder')"
|
||||
:placeholder="$lang('order.invoice.mailInfo.receiverPlaceholder')"
|
||||
/>
|
||||
</view>
|
||||
<view class="form-item">
|
||||
<view class="form-label">
|
||||
<text class="required">*</text>
|
||||
{{ $lang('mailInfo.mobile') }}
|
||||
{{ $lang('order.invoice.mailInfo.mobile') }}
|
||||
</view>
|
||||
<input
|
||||
class="form-input"
|
||||
type="number"
|
||||
v-model="formData.receiver_mobile"
|
||||
:placeholder="$lang('mailInfo.mobilePlaceholder')"
|
||||
:placeholder="$lang('order.invoice.mailInfo.mobilePlaceholder')"
|
||||
/>
|
||||
</view>
|
||||
<view class="form-item">
|
||||
<view class="form-label">
|
||||
<text class="required">*</text>
|
||||
{{ $lang('mailInfo.address') }}
|
||||
{{ $lang('order.invoice.mailInfo.address') }}
|
||||
</view>
|
||||
<pick-regions :level="3" @finish="onRegionFinish">
|
||||
<view class="picker-value">
|
||||
<text v-if="formData.region">{{ formData.region }}</text>
|
||||
<text class="placeholder" v-else>{{ $lang('mailInfo.regionPlaceholder') }}</text>
|
||||
<text class="placeholder" v-else>{{ $lang('order.invoice.mailInfo.regionPlaceholder') }}</text>
|
||||
<text class="iconfont icon-youjiantou"></text>
|
||||
</view>
|
||||
</pick-regions>
|
||||
@@ -135,47 +135,47 @@
|
||||
<view class="form-item">
|
||||
<view class="form-label">
|
||||
<text class="required">*</text>
|
||||
{{ $lang('mailInfo.detailAddress') }}
|
||||
{{ $lang('order.invoice.mailInfo.detailAddress') }}
|
||||
</view>
|
||||
<input
|
||||
class="form-input"
|
||||
type="text"
|
||||
v-model="formData.address"
|
||||
:placeholder="$lang('mailInfo.detailAddressPlaceholder')"
|
||||
:placeholder="$lang('order.invoice.mailInfo.detailAddressPlaceholder')"
|
||||
/>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="invoice-section" v-if="formData.invoice_type == 2">
|
||||
<view class="section-title">{{ $lang('emailInfo.title') }}</view>
|
||||
<view class="section-title">{{ $lang('order.invoice.emailInfo.title') }}</view>
|
||||
<view class="form-item">
|
||||
<view class="form-label">
|
||||
<text class="required">*</text>
|
||||
{{ $lang('emailInfo.receiverEmail') }}
|
||||
{{ $lang('order.invoice.emailInfo.receiverEmail') }}
|
||||
</view>
|
||||
<input
|
||||
class="form-input"
|
||||
type="text"
|
||||
v-model="formData.invoice_email"
|
||||
:placeholder="$lang('emailInfo.emailPlaceholder')"
|
||||
:placeholder="$lang('order.invoice.emailInfo.emailPlaceholder')"
|
||||
/>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="invoice-fee" v-if="invoiceData && invoiceData.invoice_money > 0">
|
||||
<view class="fee-item">
|
||||
<text class="fee-label">{{ $lang('fee.taxFee') }}</text>
|
||||
<text class="fee-label">{{ $lang('order.invoice.fee.taxFee') }}</text>
|
||||
<text class="fee-value">¥{{ invoiceData.invoice_money }}</text>
|
||||
</view>
|
||||
<view class="fee-item" v-if="formData.invoice_type == 1 && invoiceData.invoice_delivery_money > 0">
|
||||
<text class="fee-label">{{ $lang('fee.deliveryFee') }}</text>
|
||||
<text class="fee-label">{{ $lang('order.invoice.fee.deliveryFee') }}</text>
|
||||
<text class="fee-value">¥{{ invoiceData.invoice_delivery_money }}</text>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="invoice-footer">
|
||||
<view class="footer-tip">{{ $lang('footer.tip', { days: 3 }) }}</view>
|
||||
<view class="submit-btn" @click="submitInvoice">{{ $lang('footer.submit') }}</view>
|
||||
<view class="footer-tip">{{ $lang('order.invoice.footer.tip', { days: 3 }) }}</view>
|
||||
<view class="submit-btn" @click="submitInvoice">{{ $lang('order.invoice.footer.submit') }}</view>
|
||||
</view>
|
||||
|
||||
<loading-cover ref="loadingCover"></loading-cover>
|
||||
@@ -244,7 +244,7 @@ export default {
|
||||
}
|
||||
} else {
|
||||
this.$util.showToast({
|
||||
title: res.message || this.$lang('api.getConfigFailed')
|
||||
title: res.message || this.$lang('order.invoice.api.getConfigFailed')
|
||||
});
|
||||
}
|
||||
}
|
||||
@@ -253,44 +253,44 @@ export default {
|
||||
validateForm() {
|
||||
if (!this.formData.invoice_title) {
|
||||
this.$util.showToast({
|
||||
title: this.$lang('validation.pleaseEnterTitle')
|
||||
title: this.$lang('order.invoice.validation.pleaseEnterTitle')
|
||||
});
|
||||
return false;
|
||||
}
|
||||
if (this.formData.invoice_title_type == 2 && !this.formData.taxpayer_id) {
|
||||
this.$util.showToast({
|
||||
title: this.$lang('validation.pleaseEnterTaxpayerId')
|
||||
title: this.$lang('order.invoice.validation.pleaseEnterTaxpayerId')
|
||||
});
|
||||
return false;
|
||||
}
|
||||
if (!this.formData.invoice_content) {
|
||||
this.$util.showToast({
|
||||
title: this.$lang('validation.pleaseSelectContent')
|
||||
title: this.$lang('order.invoice.validation.pleaseSelectContent')
|
||||
});
|
||||
return false;
|
||||
}
|
||||
if (this.formData.invoice_type == 1) {
|
||||
if (!this.formData.receiver_name) {
|
||||
this.$util.showToast({
|
||||
title: this.$lang('validation.pleaseEnterReceiver')
|
||||
title: this.$lang('order.invoice.validation.pleaseEnterReceiver')
|
||||
});
|
||||
return false;
|
||||
}
|
||||
if (!this.formData.receiver_mobile) {
|
||||
this.$util.showToast({
|
||||
title: this.$lang('validation.pleaseEnterMobile')
|
||||
title: this.$lang('order.invoice.validation.pleaseEnterMobile')
|
||||
});
|
||||
return false;
|
||||
}
|
||||
if (!this.formData.region_id) {
|
||||
this.$util.showToast({
|
||||
title: this.$lang('validation.pleaseSelectRegion')
|
||||
title: this.$lang('order.invoice.validation.pleaseSelectRegion')
|
||||
});
|
||||
return false;
|
||||
}
|
||||
if (!this.formData.address) {
|
||||
this.$util.showToast({
|
||||
title: this.$lang('validation.pleaseEnterAddress')
|
||||
title: this.$lang('order.invoice.validation.pleaseEnterAddress')
|
||||
});
|
||||
return false;
|
||||
}
|
||||
@@ -298,14 +298,14 @@ export default {
|
||||
if (this.formData.invoice_type == 2) {
|
||||
if (!this.formData.invoice_email) {
|
||||
this.$util.showToast({
|
||||
title: this.$lang('validation.pleaseEnterEmail')
|
||||
title: this.$lang('order.invoice.validation.pleaseEnterEmail')
|
||||
});
|
||||
return false;
|
||||
}
|
||||
const emailReg = /^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$/;
|
||||
if (!emailReg.test(this.formData.invoice_email)) {
|
||||
this.$util.showToast({
|
||||
title: this.$lang('validation.invalidEmail')
|
||||
title: this.$lang('order.invoice.validation.invalidEmail')
|
||||
});
|
||||
return false;
|
||||
}
|
||||
@@ -325,21 +325,21 @@ export default {
|
||||
this.$refs.loadingCover.hide();
|
||||
if (res.code >= 0) {
|
||||
this.$util.showToast({
|
||||
title: this.$lang('api.submitSuccess')
|
||||
title: this.$lang('order.invoice.api.submitSuccess')
|
||||
});
|
||||
setTimeout(() => {
|
||||
uni.navigateBack();
|
||||
}, 1500);
|
||||
} else {
|
||||
this.$util.showToast({
|
||||
title: res.message || this.$lang('api.submitFailed')
|
||||
title: res.message || this.$lang('order.invoice.api.submitFailed')
|
||||
});
|
||||
}
|
||||
},
|
||||
fail: () => {
|
||||
this.$refs.loadingCover.hide();
|
||||
this.$util.showToast({
|
||||
title: this.$lang('api.networkError')
|
||||
title: this.$lang('order.invoice.api.networkError')
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
@@ -34,11 +34,11 @@
|
||||
<view class="company-logo"><image :src="$util.img(packageItem.express_company_image)" show-menu-by-longpress></image></view>
|
||||
<view class="info">
|
||||
<view class="company">
|
||||
<text>{{ $lang('order.logistics.expressCompany') }}{{ packageItem.express_company_name }}</text>
|
||||
<text>{{ $lang('order.logistics.order.logistics.expressCompany') }}{{ packageItem.express_company_name }}</text>
|
||||
</view>
|
||||
<view class="no">
|
||||
<text>
|
||||
{{ $lang('order.logistics.trackingNo') }}
|
||||
{{ $lang('order.logistics.order.logistics.trackingNo') }}
|
||||
<text class="color-tip">{{ packageItem.delivery_no }}</text>
|
||||
</text>
|
||||
<text class="iconfont icon-fuzhi" @click="copyDeliveryNo(packageItem.delivery_no)"></text>
|
||||
@@ -124,7 +124,7 @@ export default {
|
||||
if (this.$refs.loadingCover) this.$refs.loadingCover.hide();
|
||||
} else {
|
||||
this.$util.showToast({
|
||||
title: this.$lang('order.logistics.orderInfoNotFound')
|
||||
title: this.$lang('order.logistics.order.logistics.orderInfoNotFound')
|
||||
});
|
||||
setTimeout(() => {
|
||||
this.$util.redirectTo('/pages_order/list');
|
||||
|
||||
@@ -7,8 +7,8 @@ export default {
|
||||
*/
|
||||
cancleRefund(order_goods_id, callback) {
|
||||
uni.showModal({
|
||||
content: this.$lang('cancelRefund.content'),
|
||||
cancelText: this.$lang('cancelRefund.cancelText'),
|
||||
content: this.$lang('order.refund.refund.cancelRefundContent'),
|
||||
cancelText: this.$lang('order.refund.refund.cancelRefundCancelText'),
|
||||
cancelColor: '#898989',
|
||||
success: res => {
|
||||
if (res.confirm) {
|
||||
|
||||
@@ -14,15 +14,15 @@
|
||||
<view class="refund-option" v-show="!refund_type">
|
||||
<view class="option-item" @click="selectRefundType(1)">
|
||||
<view>
|
||||
<text>{{ $lang('refundType.refundOnly') }}</text>
|
||||
<text class="font-size-goods-tag color-tip">{{ $lang('refundType.refundOnlyDesc') }}</text>
|
||||
<text>{{ $lang('order.refund.refundType.refundOnly') }}</text>
|
||||
<text class="font-size-goods-tag color-tip">{{ $lang('order.refund.refundType.refundOnlyDesc') }}</text>
|
||||
</view>
|
||||
<text class="iconfont icon-right"></text>
|
||||
</view>
|
||||
<view class="option-item" @click="selectRefundType(2)" v-if="refund_data.refund_type.length == 2">
|
||||
<view>
|
||||
<text>{{ $lang('refundType.returnRefund') }}</text>
|
||||
<text class="font-size-goods-tag color-tip">{{ $lang('refundType.returnRefundDesc') }}</text>
|
||||
<text>{{ $lang('order.refund.refundType.returnRefund') }}</text>
|
||||
<text class="font-size-goods-tag color-tip">{{ $lang('order.refund.refundType.returnRefundDesc') }}</text>
|
||||
</view>
|
||||
<text class="iconfont icon-right"></text>
|
||||
</view>
|
||||
@@ -31,27 +31,27 @@
|
||||
<view v-show="refund_type">
|
||||
<view class="refund-form">
|
||||
<view class="item-wrap" @click="openPopup('refundReasonPopup')">
|
||||
<view class="label">{{ $lang('form.refundReason') }}</view>
|
||||
<view class="label">{{ $lang('order.refund.form.refundReason') }}</view>
|
||||
<view class="cont reason">
|
||||
<text class="color-tip" v-if="!refund_reason.length">{{ $lang('form.pleaseSelect') }}</text>
|
||||
<text class="color-tip" v-if="!refund_reason.length">{{ $lang('order.refund.form.pleaseSelect') }}</text>
|
||||
<text class="color-tip" v-else>{{ refund_reason }}</text>
|
||||
</view>
|
||||
<text class="iconfont icon-right"></text>
|
||||
</view>
|
||||
<view class="item-wrap">
|
||||
<view class="label">{{ $lang('form.refundAmount') }}</view>
|
||||
<view class="label">{{ $lang('order.refund.form.refundAmount') }}</view>
|
||||
<view class="cont color-base-text">{{ $lang('common.currencySymbol') }}{{ refund_data.refund_money }}</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="refund-form">
|
||||
<view class="item-wrap"><view class="label active">{{ $lang('form.refundRemark') }}</view></view>
|
||||
<view class="item-wrap"><view class="label active">{{ $lang('order.refund.form.refundRemark') }}</view></view>
|
||||
|
||||
<!-- #ifdef MP-WEIXIN -->
|
||||
<textarea
|
||||
v-if="!showText"
|
||||
class="newText"
|
||||
:placeholder="$lang('form.remarkPlaceholder')"
|
||||
:placeholder="$lang('order.refund.form.remarkPlaceholder')"
|
||||
placeholder-class="color-tip font-size-tag"
|
||||
:auto-height="true"
|
||||
v-model="refund_remark"
|
||||
@@ -60,7 +60,7 @@
|
||||
<!-- #ifdef H5 -->
|
||||
<textarea
|
||||
class="newText"
|
||||
:placeholder="$lang('form.remarkPlaceholder')"
|
||||
:placeholder="$lang('order.refund.form.remarkPlaceholder')"
|
||||
@blur="textBlur()"
|
||||
placeholder-class="color-tip font-size-tag"
|
||||
:auto-height="true"
|
||||
@@ -78,7 +78,7 @@
|
||||
<uni-popup ref="refundReasonPopup" type="bottom" @change="change()">
|
||||
<view class="refund-reason-popup popup">
|
||||
<view class="popup-header">
|
||||
<view><text class="tit">{{ $lang('reasonPopup.title') }}</text></view>
|
||||
<view><text class="tit">{{ $lang('order.refund.reasonPopup.title') }}</text></view>
|
||||
<view class="align-right" @click="closePopup('refundReasonPopup')"><text class="iconfont icon-close"></text></view>
|
||||
</view>
|
||||
<view class="popup-body">
|
||||
@@ -92,7 +92,7 @@
|
||||
</scroll-view>
|
||||
</view>
|
||||
<view class="popup-footer" :class="{ 'bottom-safe-area': isIphoneX }">
|
||||
<view class="confirm-btn color-base-bg" @click="closePopup('refundReasonPopup')">{{ $lang('reasonPopup.confirm') }}</view>
|
||||
<view class="confirm-btn color-base-bg" @click="closePopup('refundReasonPopup')">{{ $lang('order.refund.reasonPopup.confirm') }}</view>
|
||||
</view>
|
||||
</view>
|
||||
</uni-popup>
|
||||
@@ -172,7 +172,7 @@ export default {
|
||||
this.refund_data = res.data;
|
||||
if (this.$refs.loadingCover) this.$refs.loadingCover.hide();
|
||||
} else {
|
||||
this.$util.showToast({ title: this.$lang('toast.noRefundInfo') });
|
||||
this.$util.showToast({ title: this.$lang('order.refund.toast.noRefundInfo') });
|
||||
setTimeout(() => {
|
||||
this.$util.redirectTo('/pages_order/list');
|
||||
}, 1000);
|
||||
@@ -239,7 +239,7 @@ export default {
|
||||
},
|
||||
verify() {
|
||||
if (this.refund_reason == '') {
|
||||
this.$util.showToast({ title: this.$lang('validate.pleaseSelectRefundReason') });
|
||||
this.$util.showToast({ title: this.$lang('order.refund.validate.pleaseSelectRefundReason') });
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
|
||||
@@ -5,37 +5,37 @@
|
||||
<view class="status-wrap">
|
||||
<view class="status-name">{{ detail.refund_status_name }}</view>
|
||||
<view class="refund-explain" v-if="detail.refund_status == 1">
|
||||
<view class="font-size-goods-tag color-tip">{{ $lang('statusTip.merchantReject') }}</view>
|
||||
<view class="font-size-goods-tag color-tip">{{ $lang('statusTip.merchantAgree') }}</view>
|
||||
<view class="font-size-goods-tag color-tip">{{ $lang('order.refund_detail.statusTip.merchantReject') }}</view>
|
||||
<view class="font-size-goods-tag color-tip">{{ $lang('order.refund_detail.statusTip.merchantAgree') }}</view>
|
||||
<!-- <view class="font-size-goods-tag color-tip">如果商家逾期未处理,平台将自动通过申请并退款给你</view> -->
|
||||
</view>
|
||||
<view class="refund-explain" v-if="detail.refund_status == 5">
|
||||
<view class="font-size-goods-tag color-tip">{{ $lang('statusTip.merchantConfirmReceive') }}</view>
|
||||
<view class="font-size-goods-tag color-tip">{{ $lang('statusTip.merchantRejectReceive') }}</view>
|
||||
<view class="font-size-goods-tag color-tip">{{ $lang('order.refund_detail.statusTip.merchantConfirmReceive') }}</view>
|
||||
<view class="font-size-goods-tag color-tip">{{ $lang('order.refund_detail.statusTip.merchantRejectReceive') }}</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="history-wrap" @click="switchAction('consultrecord')">
|
||||
<view>{{ $lang('consultRecord') }}</view>
|
||||
<view>{{ $lang('order.refund_detail.consultRecord') }}</view>
|
||||
<text class="iconfont icon-right"></text>
|
||||
</view>
|
||||
|
||||
<view class="refund-address-wrap" v-if="detail.refund_status == 4">
|
||||
<view class="header">{{ $lang('returnAddress.title') }}</view>
|
||||
<view class="header">{{ $lang('order.refund_detail.returnAddress.title') }}</view>
|
||||
<view>
|
||||
<text>{{ $lang('returnAddress.receiver') }}{{ detail.shop_contacts }}</text>
|
||||
<text>{{ $lang('order.refund_detail.returnAddress.receiver') }}{{ detail.shop_contacts }}</text>
|
||||
</view>
|
||||
<view>
|
||||
<text>{{ $lang('returnAddress.contact') }}{{ detail.shop_mobile }}</text>
|
||||
<text>{{ $lang('order.refund_detail.returnAddress.contact') }}{{ detail.shop_mobile }}</text>
|
||||
</view>
|
||||
<view>
|
||||
<text class="address">{{ $lang('returnAddress.address') }}{{ detail.shop_address }}</text>
|
||||
<view class="copy" @click="$util.copy(detail.shop_address)">{{ $lang('returnAddress.copy') }}</view>
|
||||
<text class="address">{{ $lang('order.refund_detail.returnAddress.address') }}{{ detail.shop_address }}</text>
|
||||
<view class="copy" @click="$util.copy(detail.shop_address)">{{ $lang('order.refund_detail.returnAddress.copy') }}</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="refund-info">
|
||||
<view class="header">{{ $lang('refundInfo.title') }}</view>
|
||||
<view class="header">{{ $lang('order.refund_detail.refundInfo.title') }}</view>
|
||||
<view class="body">
|
||||
<!-- 商品信息 -->
|
||||
<view class="goods-wrap">
|
||||
@@ -48,16 +48,16 @@
|
||||
</view>
|
||||
<!-- 退款信息 -->
|
||||
<view class="info">
|
||||
<view class="cell">{{ $lang('refundInfo.refundMethod') }}{{ detail.refund_type == 1 ? $lang('refundInfo.refundOnly') : $lang('refundInfo.refundReturn') }}</view>
|
||||
<view class="cell" v-if="detail.refund_status == 3">{{ $lang('refundInfo.refundChannel') }}{{ detail.refund_money_type == 1 ? $lang('refundInfo.originalRefund') : detail.refund_money_type == 2 ? $lang('refundInfo.offlineRefund') : $lang('refundInfo.balanceRefund') }}</view>
|
||||
<view class="cell">{{ $lang('refundInfo.refundReason') }}{{ detail.refund_reason }}</view>
|
||||
<view class="cell" v-if="detail.refund_status == 3 && detail.refund_real_money>0">{{ $lang('refundInfo.refundAmount') }}{{ $lang('common.currencySymbol') }}{{ detail.refund_real_money }}</view>
|
||||
<view class="cell" v-else-if="detail.refund_apply_money>0">{{ $lang('refundInfo.refundAmount') }}{{ $lang('common.currencySymbol') }}{{ detail.refund_apply_money }}</view>
|
||||
<view class="cell">{{ $lang('refundInfo.refundNo') }}{{ detail.refund_no }}</view>
|
||||
<view class="cell">{{ $lang('refundInfo.applyTime') }}{{ $util.timeStampTurnTime(detail.refund_action_time) }}</view>
|
||||
<view class="cell" v-if="detail.refund_time">{{ $lang('refundInfo.refundTime') }}{{ $util.timeStampTurnTime(detail.refund_time) }}</view>
|
||||
<view class="cell" v-if="detail.refund_remark != ''">{{ $lang('refundInfo.refundRemark') }}{{ detail.refund_remark }}</view>
|
||||
<view class="cell" v-if="detail.use_point>0">{{ $lang('refundInfo.refundPoint') }}{{ detail.use_point }}</view>
|
||||
<view class="cell">{{ $lang('order.refund_detail.refundInfo.refundMethod') }}{{ detail.refund_type == 1 ? $lang('order.refund_detail.refundInfo.refundOnly') : $lang('order.refund_detail.refundInfo.refundReturn') }}</view>
|
||||
<view class="cell" v-if="detail.refund_status == 3">{{ $lang('order.refund_detail.refundInfo.refundChannel') }}{{ detail.refund_money_type == 1 ? $lang('order.refund_detail.refundInfo.originalRefund') : detail.refund_money_type == 2 ? $lang('order.refund_detail.refundInfo.offlineRefund') : $lang('order.refund_detail.refundInfo.balanceRefund') }}</view>
|
||||
<view class="cell">{{ $lang('order.refund_detail.refundInfo.refundReason') }}{{ detail.refund_reason }}</view>
|
||||
<view class="cell" v-if="detail.refund_status == 3 && detail.refund_real_money>0">{{ $lang('order.refund_detail.refundInfo.refundAmount') }}{{ $lang('common.currencySymbol') }}{{ detail.refund_real_money }}</view>
|
||||
<view class="cell" v-else-if="detail.refund_apply_money>0">{{ $lang('order.refund_detail.refundInfo.refundAmount') }}{{ $lang('common.currencySymbol') }}{{ detail.refund_apply_money }}</view>
|
||||
<view class="cell">{{ $lang('order.refund_detail.refundInfo.refundNo') }}{{ detail.refund_no }}</view>
|
||||
<view class="cell">{{ $lang('order.refund_detail.refundInfo.applyTime') }}{{ $util.timeStampTurnTime(detail.refund_action_time) }}</view>
|
||||
<view class="cell" v-if="detail.refund_time">{{ $lang('order.refund_detail.refundInfo.refundTime') }}{{ $util.timeStampTurnTime(detail.refund_time) }}</view>
|
||||
<view class="cell" v-if="detail.refund_remark != ''">{{ $lang('order.refund_detail.refundInfo.refundRemark') }}{{ detail.refund_remark }}</view>
|
||||
<view class="cell" v-if="detail.use_point>0">{{ $lang('order.refund_detail.refundInfo.refundPoint') }}{{ detail.use_point }}</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
@@ -73,11 +73,11 @@
|
||||
<view class="return-goods-container">
|
||||
<view class="form-wrap">
|
||||
<view class="item">
|
||||
<view class="label">{{ $lang('returnGoods.expressCompany') }}</view>
|
||||
<view class="label">{{ $lang('order.refund_detail.returnGoods.expressCompany') }}</view>
|
||||
<view class="cont">
|
||||
<input
|
||||
type="text"
|
||||
:placeholder="$lang('returnGoods.expressCompanyPlaceholder')"
|
||||
:placeholder="$lang('order.refund_detail.returnGoods.expressCompanyPlaceholder')"
|
||||
class="input"
|
||||
placeholder-class="input-placeholder color-tip"
|
||||
v-model="formData.refund_delivery_name"
|
||||
@@ -85,11 +85,11 @@
|
||||
</view>
|
||||
</view>
|
||||
<view class="item">
|
||||
<view class="label">{{ $lang('returnGoods.expressNo') }}</view>
|
||||
<view class="label">{{ $lang('order.refund_detail.returnGoods.expressNo') }}</view>
|
||||
<view class="cont">
|
||||
<input
|
||||
type="text"
|
||||
:placeholder="$lang('returnGoods.expressNoPlaceholder')"
|
||||
:placeholder="$lang('order.refund_detail.returnGoods.expressNoPlaceholder')"
|
||||
class="input"
|
||||
placeholder-class="input-placeholder color-tip"
|
||||
v-model="formData.refund_delivery_no"
|
||||
@@ -97,13 +97,13 @@
|
||||
</view>
|
||||
</view>
|
||||
<view class="item">
|
||||
<view class="label">{{ $lang('returnGoods.expressRemark') }}</view>
|
||||
<view class="label">{{ $lang('order.refund_detail.returnGoods.expressRemark') }}</view>
|
||||
<view class="cont">
|
||||
<textarea
|
||||
placeholder-class="color-tip font-size-tag"
|
||||
:auto-height="true"
|
||||
class="textarea"
|
||||
:placeholder="$lang('returnGoods.expressRemarkPlaceholder')"
|
||||
:placeholder="$lang('order.refund_detail.returnGoods.expressRemarkPlaceholder')"
|
||||
v-model="formData.refund_delivery_remark"
|
||||
/>
|
||||
</view>
|
||||
@@ -118,7 +118,7 @@
|
||||
<view class="record-item" :class="logItem.action_way == 1 ? 'buyer' : ''" v-for="(logItem, logIndex) in detail.refund_log_list" :key="logIndex">
|
||||
<view class="cont">
|
||||
<view class="head">
|
||||
<text>{{ logItem.action_way == 1 ? $lang('record.buyer') : $lang('record.seller') }}</text>
|
||||
<text>{{ logItem.action_way == 1 ? $lang('order.refund_detail.record.buyer') : $lang('order.refund_detail.record.seller') }}</text>
|
||||
<text class="time">{{ $util.timeStampTurnTime(logItem.action_time) }}</text>
|
||||
</view>
|
||||
<view class="body">
|
||||
@@ -136,7 +136,7 @@
|
||||
<text>联系客服</text>
|
||||
</view>
|
||||
</ns-contact> -->
|
||||
<view @click="switchAction('')">{{ $lang('record.backToDetail') }}</view>
|
||||
<view @click="switchAction('')">{{ $lang('order.refund_detail.record.backToDetail') }}</view>
|
||||
</view>
|
||||
</view>
|
||||
</scroll-view>
|
||||
@@ -190,7 +190,7 @@ export default {
|
||||
this.detail = res.data;
|
||||
if (this.$refs.loadingCover) this.$refs.loadingCover.hide();
|
||||
} else {
|
||||
this.$util.showToast({ title: this.$lang('toast.noRefundInfo') });
|
||||
this.$util.showToast({ title: this.$lang('order.refund_detail.toast.noRefundInfo') });
|
||||
setTimeout(() => {
|
||||
this.$util.redirectTo('/pages_order/list');
|
||||
}, 1000);
|
||||
@@ -206,7 +206,7 @@ export default {
|
||||
case 'orderRefundCancel':
|
||||
this.cancleRefund(this.detail.order_goods_id, res => {
|
||||
if (res.code >= 0) {
|
||||
this.$util.showToast({ title: this.$lang('toast.cancelSuccess') });
|
||||
this.$util.showToast({ title: this.$lang('order.refund_detail.toast.cancelSuccess') });
|
||||
setTimeout(() => {
|
||||
this.$util.redirectTo('/pages_order/list');
|
||||
}, 1000);
|
||||
@@ -223,8 +223,8 @@ export default {
|
||||
},
|
||||
refurnGoods() {
|
||||
var rule = [
|
||||
{ name: 'refund_delivery_name', checkType: 'required', errorMsg: this.$lang('validate.pleaseInputExpressCompany') },
|
||||
{ name: 'refund_delivery_no', checkType: 'required', errorMsg: this.$lang('validate.pleaseInputExpressNo') }
|
||||
{ name: 'refund_delivery_name', checkType: 'required', errorMsg: this.$lang('order.refund_detail.validate.pleaseInputExpressCompany') },
|
||||
{ name: 'refund_delivery_no', checkType: 'required', errorMsg: this.$lang('order.refund_detail.validate.pleaseInputExpressNo') }
|
||||
];
|
||||
this.formData.order_goods_id = this.order_goods_id;
|
||||
var checkRes = validate.check(this.formData, rule);
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<template>
|
||||
<view class="goods-select" :style="themeColor">
|
||||
<view class="top">
|
||||
{{ $lang('totalItems', { count: refund_data.length }) }}
|
||||
{{ $lang('order.refund_goods_select.totalItems', { count: refund_data.length }) }}
|
||||
</view>
|
||||
|
||||
<view class="body">
|
||||
@@ -24,8 +24,8 @@
|
||||
<text v-else class="iconfont icon-yuan_checkbox"></text> -->
|
||||
</view>
|
||||
|
||||
<view v-if="nexthover" class="next" @click="next">{{ $lang('next') }}</view>
|
||||
<view v-else class="next nexthover">{{ $lang('selectGoods') }}</view>
|
||||
<view v-if="nexthover" class="next" @click="next">{{ $lang('order.refund_goods_select.next') }}</view>
|
||||
<view v-else class="next nexthover">{{ $lang('order.refund_goods_select.selectGoods') }}</view>
|
||||
</view>
|
||||
|
||||
<!-- <loading-cover ref="loadingCover"></loading-cover> -->
|
||||
@@ -50,7 +50,7 @@
|
||||
this.getGoodsInfo()
|
||||
} else{
|
||||
uni.showToast({
|
||||
title: this.$lang('orderInfoNotFound'),
|
||||
title: this.$lang('order.refund_goods_select.orderInfoNotFound'),
|
||||
icon:'none'
|
||||
})
|
||||
setTimeout(()=>{
|
||||
|
||||
@@ -4,15 +4,15 @@
|
||||
<view class="refund-option">
|
||||
<view class="option-item" @click="selectRefundType(1)">
|
||||
<view>
|
||||
<text>{{ $lang('refundTypeSelect.refundOnly') }}</text>
|
||||
<text class="font-size-goods-tag color-tip">{{ $lang('refundTypeSelect.refundOnlyDesc') }}</text>
|
||||
<text>{{ $lang('order.refund_type_select.refundTypeSelect.refundOnly') }}</text>
|
||||
<text class="font-size-goods-tag color-tip">{{ $lang('order.refund_type_select.refundTypeSelect.refundOnlyDesc') }}</text>
|
||||
</view>
|
||||
<text class="iconfont icon-right"></text>
|
||||
</view>
|
||||
<view class="option-item" @click="selectRefundType(2)" v-if="refund_data.order_status == 3">
|
||||
<view>
|
||||
<text>{{ $lang('refundTypeSelect.returnRefund') }}</text>
|
||||
<text class="font-size-goods-tag color-tip">{{ $lang('refundTypeSelect.returnRefundDesc') }}</text>
|
||||
<text>{{ $lang('order.refund_type_select.refundTypeSelect.returnRefund') }}</text>
|
||||
<text class="font-size-goods-tag color-tip">{{ $lang('order.refund_type_select.refundTypeSelect.returnRefundDesc') }}</text>
|
||||
</view>
|
||||
<text class="iconfont icon-right"></text>
|
||||
</view>
|
||||
@@ -75,7 +75,7 @@
|
||||
if (this.$refs.loadingCover) this.$refs.loadingCover.hide();
|
||||
} else {
|
||||
this.$util.showToast({
|
||||
title: this.$lang('toast.noRefundInfo')
|
||||
title: this.$lang('order.refund_type_select.toast.noRefundInfo')
|
||||
});
|
||||
setTimeout(() => {
|
||||
this.$util.redirectTo('/pages_order/list');
|
||||
|
||||
Reference in New Issue
Block a user