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

@@ -4,7 +4,7 @@
<view class="payment-navbar" :style="{ 'padding-top': menuButtonBounding.top + 'px', height: menuButtonBounding.height + 'px' }">
<view class="nav-wrap">
<text class="iconfont icon-back_light" @click="back"></text>
<view class="navbar-title">{{ $lang('payment.title') }}</view>
<view class="navbar-title">{{ $lang('order.payment.title') }}</view>
</view>
</view>
<view class="payment-navbar-block" :style="{ height: menuButtonBounding.bottom + 'px' }"></view>
@@ -18,14 +18,14 @@
<view class="mobile-wrap">
<view class="tips color-base-text">
<text class="iconfont icongantanhao"></text>
{{ $lang('payment.virtual.tips') }}
{{ $lang('order.payment.virtual.tips') }}
</view>
<view class="form-group">
<text class="icon">
<image :src="$util.img('public/uniapp/order/icon-mobile.png')" mode="widthFix"></image>
</text>
<text class="text">{{ $lang('payment.virtual.mobile') }}</text>
<input type="number" maxlength="11" :placeholder="$lang('payment.virtual.mobilePlaceholder')" placeholder-class="color-tip placeholder" class="input" v-model="orderCreateData.member_address.mobile" />
<text class="text">{{ $lang('order.payment.virtual.mobile') }}</text>
<input type="number" maxlength="11" :placeholder="$lang('order.payment.virtual.mobilePlaceholder')" placeholder-class="color-tip placeholder" class="input" v-model="orderCreateData.member_address.mobile" />
</view>
</view>
</template>
@@ -54,7 +54,7 @@
<text class="cell-more iconfont icon-right"></text>
</view>
<view class="empty-wrap" v-else @click="selectAddress">
<view class="info">{{ $lang('payment.address.setAddress') }}</view>
<view class="info">{{ $lang('order.payment.address.setAddress') }}</view>
<view class="cell-more">
<view class="iconfont icon-right"></view>
</view>
@@ -67,18 +67,18 @@
<block v-if="storeList && Object.keys(storeList).length > 1">
<view class="local-delivery-store" v-if="storeInfo" @click="openPopup('deliveryPopup')">
<view class="info">
{{ $lang('payment.localDelivery.providedBy') }}
{{ $lang('order.payment.localDelivery.providedBy') }}
<text class="store-name">{{ storeInfo.store_name }}</text>
{{ $lang('payment.localDelivery.deliveredBy') }}
{{ $lang('order.payment.localDelivery.deliveredBy') }}
</view>
<view class="cell-more">
<text>{{ $lang('payment.localDelivery.switchStore') }}</text>
<text>{{ $lang('order.payment.localDelivery.switchStore') }}</text>
<text class="iconfont icon-right"></text>
</view>
</view>
<view v-else class="local-delivery-store">
<view class="info">
<text class="store-name">{{ $lang('payment.localDelivery.noStoreNearby') }}</text>
<text class="store-name">{{ $lang('order.payment.localDelivery.noStoreNearby') }}</text>
</view>
</view>
</block>
@@ -97,16 +97,16 @@
</view>
<view class="local-box" v-if="calculateGoodsData.config.local && calculateGoodsData.delivery.local.info.time_is_open == 1">
<view class="pick-block" @click="localtime('')">
<view class="title font-size-base">{{ $lang('payment.address.deliveryTime') }}</view>
<view class="title font-size-base">{{ $lang('order.payment.address.deliveryTime') }}</view>
<view class="time-picker">
<text :class="{ 'color-tip': !deliveryTime }">{{ deliveryTime ? deliveryTime : $lang('payment.address.selectDeliveryTime') }}</text>
<text :class="{ 'color-tip': !deliveryTime }">{{ deliveryTime ? deliveryTime : $lang('order.payment.address.selectDeliveryTime') }}</text>
<text class="iconfont icon-right cell-more"></text>
</view>
</view>
</view>
</view>
<view class="empty-wrap" v-else @click="selectAddress">
<view class="info">{{ $lang('payment.address.setAddress') }}</view>
<view class="info">{{ $lang('order.payment.address.setAddress') }}</view>
<view class="cell-more">
<view class="iconfont icon-right"></view>
</view>
@@ -125,7 +125,7 @@
<text>{{ storeInfo.store_name }}</text>
</view>
<view class="store-detail">
<view v-if="storeInfo.open_date">{{ $lang('payment.store.businessHours') }}{{ storeInfo.open_date }}</view>
<view v-if="storeInfo.open_date">{{ $lang('order.payment.store.businessHours') }}{{ storeInfo.open_date }}</view>
<view class="address">{{ storeInfo.full_address }} {{ storeInfo.address }}
</view>
</view>
@@ -135,25 +135,25 @@
</view>
<view class="mobile-wrap store-mobile" v-if="orderCreateData.member_address">
<view class="form-group">
<text class="text">{{ $lang('payment.store.name') }}</text>
<text class="text">{{ $lang('order.payment.store.name') }}</text>
<input type="text" placeholder-class="color-tip placeholder" class="input" disabled v-model="orderCreateData.member_address.name" />
</view>
</view>
<view class="mobile-wrap store-mobile" v-if="orderCreateData.member_address">
<view class="form-group">
<text class="text">{{ $lang('payment.store.reservedMobile') }}</text>
<input type="number" maxlength="11" :placeholder="$lang('payment.virtual.mobilePlaceholder')" placeholder-class="color-tip placeholder" class="input" v-model="orderCreateData.member_address.mobile" />
<text class="text">{{ $lang('order.payment.store.reservedMobile') }}</text>
<input type="number" maxlength="11" :placeholder="$lang('order.payment.virtual.mobilePlaceholder')" placeholder-class="color-tip placeholder" class="input" v-model="orderCreateData.member_address.mobile" />
</view>
</view>
<view class="store-time" @click="storetime('')">
<view class="left">{{ $lang('payment.store.pickupTime') }}</view>
<view class="left">{{ $lang('order.payment.store.pickupTime') }}</view>
<view class="right">
{{ deliveryTime }}
<text class="iconfont icon-right"></text>
</view>
</view>
</block>
<view v-else class="empty">{{ $lang('payment.store.noPickupStore') }}</view>
<view v-else class="empty">{{ $lang('order.payment.store.noPickupStore') }}</view>
<image class="address-line" :src="$util.img('public/uniapp/order/address-line.png')" show-menu-by-longpress></image>
</view>
</template>
@@ -189,7 +189,7 @@
goodsItem.support_trade_type.indexOf(orderCreateData.delivery.delivery_type) == -1
">
<text class="iconfont icon-gantanhao"></text>
<text>{{ $lang('payment.goods.notSupportDeliveryType', { deliveryType: orderCreateData.delivery.delivery_type_name }) }}</text>
<text>{{ $lang('order.payment.goods.notSupportDeliveryType', { deliveryType: orderCreateData.delivery.delivery_type_name }) }}</text>
</view>
</block>
<view class="error-tips" v-if="goodsItem.error && goodsItem.error.message">
@@ -224,22 +224,22 @@
<view class="order-money" style="margin: 0;">
<view class="order-cell">
<text class="tit">{{ $lang('payment.orderMoney.buyerMessage') }}</text>
<text class="tit">{{ $lang('order.payment.orderMoney.buyerMessage') }}</text>
<view class="box text-overflow " @click="openPopup('buyerMessagePopup')">
<text v-if="orderCreateData.buyer_message">{{ orderCreateData.buyer_message[calculateGoodsData.merch_id] }}</text>
<text class="color-sub" v-else>{{ $lang('payment.orderMoney.noMessage') }}</text>
<text class="color-sub" v-else>{{ $lang('order.payment.orderMoney.noMessage') }}</text>
</view>
<text class="iconfont icon-right"></text>
</view>
<view class="order-cell coupon" v-if="modules.indexOf('coupon') != -1">
<text class="tit">{{ $lang('payment.orderMoney.coupon') }}</text>
<text class="tit">{{ $lang('order.payment.orderMoney.coupon') }}</text>
<view class="box text-overflow"@click="openSiteCoupon(calculateGoodsData.merch_id)">
<template v-if="orderCreateData.coupon[calculateGoodsData.merch_id].coupon_id">
<text class="money price-font" style="max-width: 100%;">{{ $lang('payment.orderMoney.couponSelected', { count: 1 }) }}</text>
<text class="money price-font" style="max-width: 100%;">{{ $lang('order.payment.orderMoney.couponSelected', { count: 1 }) }}</text>
<!-- <text class="unit price-font">优惠</text>
<text class="money price-font">{{ (calculateData && calculateData.coupon_money ? calculateData.coupon_money : 0) | moneyFormat }}</text> -->
</template>
<text v-else>{{ $lang('payment.orderMoney.noCoupon') }}</text>
<text v-else>{{ $lang('order.payment.orderMoney.noCoupon') }}</text>
</view>
<text class="iconfont icon-right"></text>
</view>
@@ -247,8 +247,8 @@
<view class="site-wrap buyer-message">
<view class="order-cell">
<view class="box shop-item">
<text class="color-tip goods-num">{{ $lang('payment.orderMoney.totalItems', { count: calculateGoodsData.goods_num }) }}</text>
<text class="font-size-base">{{ $lang('payment.orderMoney.subtotal') }}</text>
<text class="color-tip goods-num">{{ $lang('order.payment.orderMoney.totalItems', { count: calculateGoodsData.goods_num }) }}</text>
<text class="font-size-base">{{ $lang('order.payment.orderMoney.subtotal') }}</text>
<text class="color-base-text unit">{{ $lang('common.currencySymbol') }}</text>
<text class="color-base-text money">{{ calculateGoodsData.goods_money | moneyFormat }}</text>
</view>
@@ -312,10 +312,10 @@
<view class="head" @click="selectMemberCard">
<text class="iconfont icon-huiyuan"></text>
<view class="info">
{{ $lang('payment.memberCard.activate') }}{{ paymentData.recommend_member_card.level_name }}
<text>{{ $lang('payment.memberCard.expectedSave') }}</text>
{{ $lang('order.payment.memberCard.activate') }}{{ paymentData.recommend_member_card.level_name }}
<text>{{ $lang('order.payment.memberCard.expectedSave') }}</text>
<text class="price-color">{{ paymentData.recommend_member_card.discount_money | moneyFormat }}</text>
<text>{{ $lang('payment.memberCard.yuan') }}</text>
<text>{{ $lang('order.payment.memberCard.yuan') }}</text>
</view>
<text class="iconfont" :class="orderCreateData.is_open_card == 1 ? 'icon-yuan_checked color-base-text' : 'icon-yuan_checkbox'"></text>
</view>
@@ -332,14 +332,14 @@
<template v-if="calculateData">
<view class="order-money">
<view class="order-cell">
<text class="tit">{{ $lang('payment.orderMoney.goodsAmount') }}</text>
<text class="tit">{{ $lang('order.payment.orderMoney.goodsAmount') }}</text>
<view class="box">
<text class="unit color-title price-font">{{ $lang('common.currencySymbol') }}</text>
<text class="money color-title price-font">{{ calculateData.goods_money | moneyFormat }}</text>
</view>
</view>
<view class="order-cell" v-if="calculateData.is_virtual == 0 && calculateData.delivery_money > 0">
<text class="tit">{{ $lang('payment.orderMoney.shippingFee') }}</text>
<text class="tit">{{ $lang('order.payment.orderMoney.shippingFee') }}</text>
<view class="box color-base-text">
<text class="operator">+</text>
<text class="unit price-font">{{ $lang('common.currencySymbol') }}</text>
@@ -366,7 +366,7 @@
</view>
</view> -->
<view class="order-cell" v-if="calculateData.promotion_money > 0">
<text class="tit">{{ $lang('payment.orderMoney.discount') }}</text>
<text class="tit">{{ $lang('order.payment.orderMoney.discount') }}</text>
<view class="box color-base-text">
<text class="operator">-</text>
<text class="unit price-font">{{ $lang('common.currencySymbol') }}</text>
@@ -374,7 +374,7 @@
</view>
</view>
<view class="order-cell" v-if="calculateData.coupon_money">
<text class="tit">{{ $lang('payment.orderMoney.coupon') }}</text>
<text class="tit">{{ $lang('order.payment.orderMoney.coupon') }}</text>
<view class="box color-base-text">
<text class="operator">-</text>
<text class="unit price-font">{{ $lang('common.currencySymbol') }}</text>
@@ -382,7 +382,7 @@
</view>
</view>
<view class="order-cell" v-if="calculateData.point_money > 0">
<text class="tit">{{ $lang('payment.orderMoney.pointsDeduction') }}</text>
<text class="tit">{{ $lang('order.payment.orderMoney.pointsDeduction') }}</text>
<view class="box color-base-text">
<text class="operator">-</text>
<text class="unit price-font">{{ $lang('common.currencySymbol') }}</text>
@@ -400,18 +400,18 @@
</view> -->
</view>
<view v-if="transactionAgreement.title && transactionAgreement.content" class="agreement">{{ $lang('payment.agreement.tipPrefix') }}<text @click="$refs.agreementPopup.open()">《{{ transactionAgreement.title }}》</text>{{ $lang('payment.agreement.tipSuffix') }}</view>
<view v-if="transactionAgreement.title && transactionAgreement.content" class="agreement">{{ $lang('order.payment.agreement.tipPrefix') }}<text @click="$refs.agreementPopup.open()">《{{ transactionAgreement.title }}》</text>{{ $lang('order.payment.agreement.tipSuffix') }}</view>
<view class="order-submit bottom-safe-area">
<view class="order-settlement-info">
<text class="font-size-base color-tip margin-right">{{ $lang('payment.settlement.totalItems', { count: calculateData.goods_num }) }}</text>
<text class="font-size-base">{{ $lang('payment.settlement.total') }}</text>
<text class="font-size-base color-tip margin-right">{{ $lang('order.payment.settlement.totalItems', { count: calculateData.goods_num }) }}</text>
<text class="font-size-base">{{ $lang('order.payment.settlement.total') }}</text>
<text class=" unit price-font">{{ $lang('common.currencySymbol') }}</text>
<text class=" money price-font">{{ parseFloat(calculateData.pay_money).toFixed(2).split('.')[0] }}</text>
<text class=" unit price-font">.{{ parseFloat(calculateData.pay_money).toFixed(2).split('.')[1] }}</text>
</view>
<view class="submit-btn">
<button type="primary" class="mini" size="mini" @click="create()" v-if="!surplusStartMoney()">{{ $lang('payment.settlement.submitOrder') }}</button>
<button type="primary" class="mini" size="mini" @click="create()" v-if="!surplusStartMoney()">{{ $lang('order.payment.settlement.submitOrder') }}</button>
<!-- <button v-else class="no-submit mini" size="mini">差{{ surplusStartMoney() | moneyFormat }}起送</button> -->
</view>
</view>
@@ -425,7 +425,7 @@
<uni-popup ref="promotionPopup" type="bottom" v-if="promotionInfo">
<view class="promotion-popup popup">
<view class="popup-header">
<text class="tit">{{ $lang('payment.promotionPopup.title') }}</text>
<text class="tit">{{ $lang('order.payment.promotionPopup.title') }}</text>
<text class="iconfont icon-close" @click="closePopup('promotionPopup')"></text>
</view>
<scroll-view scroll-y="true" class="popup-body" :class="{ 'safe-area': isIphoneX }">
@@ -440,7 +440,7 @@
</view>
</scroll-view>
<view class="popup-footer" :class="{ 'bottom-safe-area': isIphoneX }">
<view class="confirm-btn color-base-bg" @click="closePopup('promotionPopup')">{{ $lang('payment.promotionPopup.confirm') }}</view>
<view class="confirm-btn color-base-bg" @click="closePopup('promotionPopup')">{{ $lang('order.payment.promotionPopup.confirm') }}</view>
</view>
</view>
</uni-popup>
@@ -449,7 +449,7 @@
<uni-popup ref="deliveryPopup" type="bottom">
<view class="delivery-popup popup">
<view class="popup-header">
<text class="tit">{{ $lang('payment.storePopup.title') }}</text>
<text class="tit">{{ $lang('order.payment.storePopup.title') }}</text>
<text class="iconfont icon-close" @click="closePopup('deliveryPopup')"></text>
</view>
<view class="popup-body store-popup" :class="{ 'safe-area': isIphoneX }">
@@ -465,8 +465,8 @@
<text v-if="item.distance">({{ item.distance }}km)</text>
</view>
<view class="info">
<view :class="item.store_id == orderCreateData.delivery.store_id ? 'color-base-text' : ''" class="font-size-goods-tag">{{ $lang('payment.storePopup.businessHours') }}{{ item.open_date }}</view>
<view :class="item.store_id == orderCreateData.delivery.store_id ? 'color-base-text' : ''" class="font-size-goods-tag">{{ $lang('payment.storePopup.address') }}{{ item.full_address }}{{ item.address }}</view>
<view :class="item.store_id == orderCreateData.delivery.store_id ? 'color-base-text' : ''" class="font-size-goods-tag">{{ $lang('order.payment.storePopup.businessHours') }}{{ item.open_date }}</view>
<view :class="item.store_id == orderCreateData.delivery.store_id ? 'color-base-text' : ''" class="font-size-goods-tag">{{ $lang('order.payment.storePopup.address') }}{{ item.full_address }}{{ item.address }}</view>
</view>
</view>
<view class="icon" v-if="item.store_id == orderCreateData.delivery.store_id">
@@ -475,7 +475,7 @@
</view>
</block>
<view v-else class="empty-wrap">
<ns-empty :text="$lang('payment.storePopup.noStoreNearby')" :isIndex="false"></ns-empty>
<ns-empty :text="$lang('order.payment.storePopup.noStoreNearby')" :isIndex="false"></ns-empty>
</view>
</view>
@@ -490,20 +490,20 @@
<uni-popup ref="buyerMessagePopup" type="bottom">
<view style="height: auto;" class="buyermessag-popup popup" @touchmove.prevent.stop>
<view class="popup-header">
<text class="tit">{{ $lang('payment.buyerMessagePopup.title') }}</text>
<text class="tit">{{ $lang('order.payment.buyerMessagePopup.title') }}</text>
<text class="iconfont icon-close" @click="closePopup('buyerMessagePopup')"></text>
</view>
<scroll-view scroll-y="true" class="popup-body" :class="{ 'safe-area': isIphoneX }">
<view>
<view class="buyermessag-cell">
<view class="buyermessag-form-group">
<textarea type="text" maxlength="100" :placeholder="$lang('payment.buyerMessagePopup.placeholder')" placeholder-class="color-tip" v-model="orderCreateData.buyer_message"/>
<textarea type="text" maxlength="100" :placeholder="$lang('order.payment.buyerMessagePopup.placeholder')" placeholder-class="color-tip" v-model="orderCreateData.buyer_message"/>
</view>
</view>
</view>
</scroll-view>
<view class="popup-footer" @click="saveBuyerMessage" :class="{ 'bottom-safe-area': isIphoneX }">
<view class="confirm-btn color-base-bg">{{ $lang('payment.buyerMessagePopup.confirm') }}</view>
<view class="confirm-btn color-base-bg">{{ $lang('order.payment.buyerMessagePopup.confirm') }}</view>
</view>
</view>
</uni-popup>
@@ -512,7 +512,7 @@
<uni-popup ref="couponPopup" type="bottom" :mask-click="false">
<view class="coupon-popup popup" @touchmove.prevent.stop>
<view class="popup-header">
<text class="tit">{{ $lang('payment.couponPopup.title') }}</text>
<text class="tit">{{ $lang('order.payment.couponPopup.title') }}</text>
<text class="iconfont icon-close" @click="closePopup('couponPopup')"></text>
</view>
@@ -533,32 +533,32 @@
</template>
<template v-else-if="couponItem.type == 'discount'">
<text class="money">{{ parseFloat(couponItem.discount) }}</text>
<text class="unit">{{ $lang('payment.couponPopup.discount') }}</text>
<text class="unit">{{ $lang('order.payment.couponPopup.discount') }}</text>
</template>
<view class="at-least">
<template v-if="couponItem.at_least > 0">
{{ $lang('payment.couponPopup.minSpend', { amount: couponItem.at_least }) }}
{{ $lang('order.payment.couponPopup.minSpend', { amount: couponItem.at_least }) }}
</template>
<template v-else>
{{ $lang('payment.couponPopup.noThreshold') }}
{{ $lang('order.payment.couponPopup.noThreshold') }}
</template>
</view>
</view>
</view>
<view class="desc-wrap">
<view class="coupon-name">{{ couponItem.coupon_name }}</view>
<view v-if="couponItem.type == 'discount' && couponItem.discount_limit > 0" class="limit">{{ $lang('payment.couponPopup.maxDiscount', { amount: couponItem.discount_limit }) }}</view>
<view class="time font-size-goods-tag">{{ $lang('payment.couponPopup.validPeriod') }}{{ couponItem.end_time ? $util.timeStampTurnTime(couponItem.end_time) : $lang('payment.couponPopup.permanentValid') }}</view>
<view v-if="couponItem.type == 'discount' && couponItem.discount_limit > 0" class="limit">{{ $lang('order.payment.couponPopup.maxDiscount', { amount: couponItem.discount_limit }) }}</view>
<view class="time font-size-goods-tag">{{ $lang('order.payment.couponPopup.validPeriod') }}{{ couponItem.end_time ? $util.timeStampTurnTime(couponItem.end_time) : $lang('order.payment.couponPopup.permanentValid') }}</view>
</view>
<view class="iconfont" :class="selectCouponId == couponItem.coupon_id ? 'icon-yuan_checked color-base-text' : 'icon-yuan_checkbox'"></view>
</view>
</view>
</view>
<view v-else class="coupon-empty">{{ $lang('payment.couponPopup.noAvailableCoupon') }}</view>
<view v-else class="coupon-empty">{{ $lang('order.payment.couponPopup.noAvailableCoupon') }}</view>
</scroll-view>
<view class="popup-footer" :class="{ 'bottom-safe-area': isIphoneX }">
<view class="confirm-btn color-base-bg" @click="useCpopon">{{ $lang('payment.couponPopup.confirm') }}</view>
<view class="confirm-btn color-base-bg" @click="useCpopon">{{ $lang('order.payment.couponPopup.confirm') }}</view>
</view>
</view>
</uni-popup>
@@ -584,14 +584,14 @@
<uni-popup ref="editFormPopup" type="bottom">
<view style="height: auto;" class="form-popup popup" @touchmove.prevent.stop>
<view class="popup-header">
<text class="tit">{{ $lang('payment.formPopup.title') }}</text>
<text class="tit">{{ $lang('order.payment.formPopup.title') }}</text>
<text class="iconfont icon-close" @click="$refs.editFormPopup.close()"></text>
</view>
<scroll-view scroll-y="true" class="popup-body" :class="{ 'safe-area': isIphoneX }">
<ns-form v-if="tempFormData" :data="tempFormData.json_data" ref="tempForm"></ns-form>
</scroll-view>
<view class="popup-footer" @click="saveForm" :class="{ 'bottom-safe-area': isIphoneX }">
<view class="confirm-btn color-base-bg">{{ $lang('payment.formPopup.confirm') }}</view>
<view class="confirm-btn color-base-bg">{{ $lang('order.payment.formPopup.confirm') }}</view>
</view>
</view>
</uni-popup>
@@ -599,7 +599,7 @@
<uni-popup ref="memberGoodsCardPopup" type="bottom">
<view class="member-card-popup popup" @touchmove.prevent.stop>
<view class="popup-header">
<text class="tit">{{ $lang('payment.memberCardPopup.title') }}</text>
<text class="tit">{{ $lang('order.payment.memberCardPopup.title') }}</text>
<text class="iconfont icon-close" @click="$refs.memberGoodsCardPopup.close()"></text>
</view>
<scroll-view scroll-y="true" class="popup-body" :class="{ 'safe-area': isIphoneX }">
@@ -607,18 +607,18 @@
<view class="content">
<view class="title">{{ isEnEnv ? item.en_goods_name : item.goods_name }}</view>
<view class="info">
<text v-if="item.card_type == 'timecard'">{{ $lang('payment.memberCardPopup.unlimited') }}</text>
<text v-if="item.card_type == 'oncecard'">{{ $lang('payment.memberCardPopup.remaining', { count: item.num - item.use_num }) }}</text>
<text v-if="item.card_type == 'commoncard'">{{ $lang('payment.memberCardPopup.remaining', { count: item.total_num - item.total_use_num }) }}</text>
<text v-if="item.card_type == 'timecard'">{{ $lang('order.payment.memberCardPopup.unlimited') }}</text>
<text v-if="item.card_type == 'oncecard'">{{ $lang('order.payment.memberCardPopup.remaining', { count: item.num - item.use_num }) }}</text>
<text v-if="item.card_type == 'commoncard'">{{ $lang('order.payment.memberCardPopup.remaining', { count: item.total_num - item.total_use_num }) }}</text>
<text>|</text>
<text>{{ item.end_time ? $util.timeStampTurnTime(item.end_time) : $lang('payment.memberCardPopup.permanentValid') }}</text>
<text>{{ item.end_time ? $util.timeStampTurnTime(item.end_time) : $lang('order.payment.memberCardPopup.permanentValid') }}</text>
</view>
</view>
<view class="iconfont" :class="selectGoodsCard.itemId == item.item_id ? 'icon-yuan_checked color-base-text' : 'icon-yuan_checkbox'"></view>
</view>
</scroll-view>
<view class="popup-footer" @click="saveMemberGoodsCard" :class="{ 'bottom-safe-area': isIphoneX }">
<view class="confirm-btn color-base-bg">{{ $lang('payment.memberCardPopup.confirm') }}</view>
<view class="confirm-btn color-base-bg">{{ $lang('order.payment.memberCardPopup.confirm') }}</view>
</view>
</view>
</uni-popup>

View File

@@ -131,32 +131,32 @@ export default {
charge_rule_arr.push({
'key': key,
'value': charge_rule[key],
'title': this.$lang('payment.memberCard.weekCard'),
unit: this.$lang('payment.memberCard.week')
'title': this.$lang('order.payment.memberCard.weekCard'),
unit: this.$lang('order.payment.memberCard.week')
});
break;
case 'month':
charge_rule_arr.push({
'key': key,
'value': charge_rule[key],
'title': this.$lang('payment.memberCard.monthCard'),
unit: this.$lang('payment.memberCard.month')
'title': this.$lang('order.payment.memberCard.monthCard'),
unit: this.$lang('order.payment.memberCard.month')
});
break;
case 'quarter':
charge_rule_arr.push({
'key': key,
'value': charge_rule[key],
'title': this.$lang('payment.memberCard.quarterCard'),
unit: this.$lang('payment.memberCard.quarter')
'title': this.$lang('order.payment.memberCard.quarterCard'),
unit: this.$lang('order.payment.memberCard.quarter')
});
break;
case 'year':
charge_rule_arr.push({
'key': key,
'value': charge_rule[key],
'title': this.$lang('payment.memberCard.yearCard'),
unit: this.$lang('payment.memberCard.year')
'title': this.$lang('order.payment.memberCard.yearCard'),
unit: this.$lang('order.payment.memberCard.year')
});
break;
}
@@ -484,20 +484,20 @@ export default {
if (this.paymentData.is_virtual == 1) {
if (!this.orderCreateData.member_address.mobile) {
this.$util.showToast({
title: this.$lang('payment.toast.enterReservedMobile')
title: this.$lang('order.payment.toast.enterReservedMobile')
});
return false;
}
if (!this.$util.verifyMobile(this.orderCreateData.member_address.mobile)) {
this.$util.showToast({
title: this.$lang('payment.toast.enterValidMobile')
title: this.$lang('order.payment.toast.enterValidMobile')
});
return false;
}
} else {
if (!this.orderCreateData.delivery || !this.orderCreateData.delivery.delivery_type) {
this.$util.showToast({
title: this.$lang('payment.toast.noDeliveryMethod')
title: this.$lang('order.payment.toast.noDeliveryMethod')
});
return false;
}
@@ -506,7 +506,7 @@ export default {
(this.orderCreateData.delivery.delivery_type == 'local' && !this.localMemberAddress)
) {
this.$util.showToast({
title: this.$lang('payment.toast.selectAddressFirst')
title: this.$lang('order.payment.toast.selectAddressFirst')
});
return false;
}
@@ -514,25 +514,25 @@ export default {
if (this.orderCreateData.delivery.delivery_type == 'store') {
if (!this.orderCreateData.delivery.store_id) {
this.$util.showToast({
title: this.$lang('payment.toast.noPickupStore')
title: this.$lang('order.payment.toast.noPickupStore')
});
return false;
}
if (!this.orderCreateData.member_address.mobile) {
this.$util.showToast({
title: this.$lang('payment.toast.enterReservedMobile')
title: this.$lang('order.payment.toast.enterReservedMobile')
});
return false;
}
if (!this.$util.verifyMobile(this.orderCreateData.member_address.mobile)) {
this.$util.showToast({
title: this.$lang('payment.toast.enterValidMobile')
title: this.$lang('order.payment.toast.enterValidMobile')
});
return false;
}
if (!this.deliveryTime) {
this.$util.showToast({
title: this.$lang('payment.toast.selectPickupTime')
title: this.$lang('order.payment.toast.selectPickupTime')
});
return false;
}
@@ -541,13 +541,13 @@ export default {
if (this.orderCreateData.delivery.delivery_type == 'local') {
if (!this.orderCreateData.delivery.store_id) {
this.$util.showToast({
title: this.$lang('payment.toast.noDeliveryStore')
title: this.$lang('order.payment.toast.noDeliveryStore')
});
return false;
}
if (this.calculateGoodsData.config.local.is_use && this.calculateGoodsData.delivery.local.info.time_is_open == 1 && !this.deliveryTime) {
this.$util.showToast({
title: this.$lang('payment.toast.selectDeliveryTime')
title: this.$lang('order.payment.toast.selectDeliveryTime')
});
return false;
}
@@ -837,25 +837,25 @@ export default {
invoiceVerify() {
if (!this.orderCreateData.invoice_title) {
this.$util.showToast({
title: this.$lang('payment.toast.enterInvoiceTitle')
title: this.$lang('order.payment.toast.enterInvoiceTitle')
});
return false;
}
if (!this.orderCreateData.taxpayer_number && this.orderCreateData.invoice_title_type == 2) {
this.$util.showToast({
title: this.$lang('payment.toast.enterTaxpayerNumber')
title: this.$lang('order.payment.toast.enterTaxpayerNumber')
});
return false;
}
if (this.orderCreateData.invoice_type == 1 && !this.orderCreateData.invoice_full_address && this.paymentData.is_virtual == 1) {
this.$util.showToast({
title: this.$lang('payment.toast.enterInvoiceAddress')
title: this.$lang('order.payment.toast.enterInvoiceAddress')
});
return false;
}
if (this.orderCreateData.invoice_type == 2 && !this.orderCreateData.invoice_email) {
this.$util.showToast({
title: this.$lang('payment.toast.enterEmail')
title: this.$lang('order.payment.toast.enterEmail')
});
return false;
}
@@ -863,14 +863,14 @@ export default {
var reg = /^([a-zA-Z]|[0-9])(\w|\-)+@[a-zA-Z0-9]+\.([a-zA-Z]{2,4})$/;
if (!reg.test(this.orderCreateData.invoice_email)) {
this.$util.showToast({
title: this.$lang('payment.toast.enterValidEmail')
title: this.$lang('order.payment.toast.enterValidEmail')
});
return false;
}
}
if (!this.orderCreateData.invoice_content) {
this.$util.showToast({
title: this.$lang('payment.toast.selectInvoiceContent')
title: this.$lang('order.payment.toast.selectInvoiceContent')
});
return false;
}