下单积分支持自定义数量

master
gongfuxiang 2023-11-29 23:17:58 +08:00
parent 9724884736
commit 5aeaa9c3f6
2 changed files with 64 additions and 11 deletions

View File

@ -217,6 +217,20 @@
.plugins-points-buy-container .desc {
color: #F37B1D;
}
.plugins-points-use-value {
width: 130rpx;
height: 42rpx;
line-height: 42rpx;
border-top-right-radius: 0 !important;
border-bottom-right-radius: 0 !important;
}
.plugins-points-use-submit {
line-height: 42rpx !important;
border-top-left-radius: 0 !important;
border-bottom-left-radius: 0 !important;
}
/**

View File

@ -112,14 +112,19 @@
<view v-if="(plugins_points_data || null) != null && ((plugins_points_data.discount_price || 0) > 0 || (plugins_points_data.is_support_goods_exchange || 0) == 1)" class="plugins-points-buy-container padding-main border-radius-main bg-white spacing-mb">
<block v-if="(plugins_points_data.discount_price || 0) > 0">
<view class="select oh">
<text v-if="plugins_points_data.discount_type == 1">使{{ plugins_points_data.use_integral }}</text>
<text v-else>使{{ plugins_points_data.use_integral }}</text>
<text class="sales-price">-{{ currency_symbol }}{{ plugins_points_data.discount_price }}</text>
<text v-if="plugins_points_data.discount_type == 1" class="va-m">使{{ plugins_points_data.use_integral }}</text>
<view v-else class="dis-inline-block">
<text class="va-m">使用</text>
<input type="number" class="br radius dis-inline-block va-m tc text-size-xs padding-horizontal-sm margin-left-xs plugins-points-use-value" :value="actual_use_integral" @input="points_use_value_event" placeholder="抵扣" />
<button type="default" size="mini" class="bg-grey-e cr-gray cr-base text-size-xs radius va-m margin-right-xs plugins-points-use-submit" @tap="points_use_value_confirm_event"></button>
<text class="va-m">个积分</text>
</view>
<text class="sales-price va-m">-{{ currency_symbol }}{{ plugins_points_data.discount_price }}</text>
<view @tap="points_event" class="fr cp">
<iconfont :name="'icon-zhifu-'+(plugins_points_status ? 'yixuan' : 'weixuan')" size="34rpx" :color="plugins_points_status ? theme_color : '#999'"></iconfont>
</view>
</view>
<view class="desc">
<view class="desc margin-top-xs">
<text v-if="plugins_points_data.discount_type == 1">{{ plugins_points_data.user_integral }}</text>
<text v-else>{{ plugins_points_data.user_integral }}{{ plugins_points_data.use_integral }}</text>
</view>
@ -307,7 +312,8 @@
popup_plugins_coupon_status: false,
popup_plugins_coupon_index: null,
//
plugins_points_data: null,
plugins_points_data: null,
actual_use_integral: 0,
plugins_points_status: false,
//
plugins_realstore_data: [],
@ -361,9 +367,6 @@
onShow() {
//
this.init();
this.setData({
is_first: 0,
});
//
this.init_config();
@ -490,7 +493,14 @@
plugins_coupon_data: data.plugins_coupon_data || null,
plugins_points_data: data.plugins_points_data || null,
plugins_realstore_data: data.plugins_realstore_data || null,
});
});
// 使
if(this.plugins_coupon_data != null && this.is_first == 1) {
this.setData({
actual_use_integral: this.plugins_points_data.use_integral || ''
});
}
//
if ((data.plugins_coupon_data || null) != null) {
@ -519,6 +529,11 @@
uni.setStorage({
key: app.globalData.data.cache_buy_user_address_select_key,
data: data.base.address || null,
});
//
this.setData({
is_first: 0,
});
}
} else {
@ -565,7 +580,10 @@
}
//
data['is_points'] = this.plugins_points_status === true ? 1 : 0;
data['is_points'] = this.plugins_points_status === true ? 1 : 0;
if(data['is_points'] == 1) {
data['actual_use_integral'] = this.actual_use_integral;
}
return data;
},
@ -816,12 +834,33 @@
var name = data.alias || data.name || '';
var address = (data.province_name || '') + (data.city_name || '') + (data.county_name || '') + (data.address || '');
app.globalData.open_location(data.lng, data.lat, name, address);
},
// 使
points_use_value_event(e) {
var value = parseInt(e.detail.value || 0);
var use_integral = parseInt(this.plugins_points_data.use_integral || 0);
if(value > use_integral && use_integral > 0) {
value = use_integral;
}
this.setData({
actual_use_integral: value || '',
});
},
// 使
points_use_value_confirm_event(e) {
this.setData({
plugins_points_status: this.actual_use_integral > 0,
});
this.init();
},
//
points_event(e) {
this.setData({
plugins_points_status: !this.plugins_points_status,
plugins_points_status: !this.plugins_points_status,
actual_use_integral: this.actual_use_integral > 0 ? this.actual_use_integral : this.plugins_points_data.use_integral,
});
this.init();
},