商品url地址使用后 端生成、商品底部购买导航新增url事件、左侧小导航返回优化
parent
92b85b48a7
commit
4f270deeba
|
|
@ -14,7 +14,7 @@
|
|||
</view>
|
||||
|
||||
<view class="items">
|
||||
<navigator :url="'/pages/goods-detail/goods-detail?id=' + item.goods_id" hover-class="none">
|
||||
<navigator :url="item.goods_url" hover-class="none">
|
||||
<!-- 图片 -->
|
||||
<image :class="'goods-image fl radius '+((item.is_error || 0) == 1 ? 'opacity' : '')" :src="item.images" mode="aspectFill"></image>
|
||||
<!-- 错误 -->
|
||||
|
|
@ -26,7 +26,7 @@
|
|||
<!-- 基础 -->
|
||||
<view class="goods-base">
|
||||
<!-- 标题、规格 -->
|
||||
<navigator :url="'/pages/goods-detail/goods-detail?id=' + item.goods_id" hover-class="none">
|
||||
<navigator :url="item.goods_url" hover-class="none">
|
||||
<view :class="'goods-title multi-text margin-bottom-sm '+((item.is_error || 0) == 1 ? 'cr-grey' : '')">{{item.title}}</view>
|
||||
</navigator>
|
||||
<view v-if="item.spec != null" class="margin-bottom-sm">
|
||||
|
|
|
|||
|
|
@ -340,19 +340,19 @@
|
|||
<image :src="nav_home_button_info.icon" mode="scaleToFill"></image>
|
||||
<text class="dis-block text-size-xs cr-gray">{{nav_home_button_info.text}}</text>
|
||||
</view>
|
||||
<!-- 客服 -->
|
||||
<component-online-service v-if="online_service_status == 1" :propIsGoods="true" :propIsNav="true" :propCard="true" :propTitle="goods.title" :propImg="goods.images" :propPath="'/pages/goods-detail/goods-detail?id='+goods.id" :propChatUrl="(plugins_chat_data == null) ? '' : plugins_chat_data.chat_url"></component-online-service>
|
||||
<!-- 购物车 -->
|
||||
<view v-if="is_opt_cart == 1" class="item fl cp">
|
||||
<navigator url="/pages/cart/cart" open-type="switchTab" hover-class="none">
|
||||
<view class="badge-icon">
|
||||
<component-badge :propNumber="quick_nav_cart_count"></component-badge>
|
||||
</view>
|
||||
<image :src="common_static_url+'cart-icon.png'" mode="scaleToFill"></image>
|
||||
<text class="dis-block text-size-xs cr-gray">购物车</text>
|
||||
</navigator>
|
||||
</view>
|
||||
</block>
|
||||
<!-- 客服 -->
|
||||
<component-online-service v-if="online_service_status == 1" :propIsGoods="true" :propIsNav="true" :propCard="true" :propTitle="goods.title" :propImg="goods.images" :propPath="'/pages/goods-detail/goods-detail?id='+goods.id" :propChatUrl="(plugins_chat_data == null) ? '' : plugins_chat_data.chat_url"></component-online-service>
|
||||
<!-- 购物车 -->
|
||||
<view v-if="is_opt_cart == 1" class="item fl cp">
|
||||
<navigator url="/pages/cart/cart" open-type="switchTab" hover-class="none">
|
||||
<view class="badge-icon">
|
||||
<component-badge :propNumber="quick_nav_cart_count"></component-badge>
|
||||
</view>
|
||||
<image :src="common_static_url+'cart-icon.png'" mode="scaleToFill"></image>
|
||||
<text class="dis-block text-size-xs cr-gray">购物车</text>
|
||||
</navigator>
|
||||
</view>
|
||||
<!-- 收藏 -->
|
||||
<view class="item fl cp" @tap="goods_favor_event">
|
||||
<image :src="common_static_url+'favor'+(nav_favor_button_info.status == 1 ? '-active' : '')+'-icon.png'" mode="scaleToFill"></image>
|
||||
|
|
@ -788,15 +788,11 @@
|
|||
|
||||
// 底部业务导航按钮数量处理
|
||||
var value = 4;
|
||||
if(this.is_opt_back == 1) {
|
||||
value = 2;
|
||||
} else {
|
||||
if(this.is_opt_cart != 1) {
|
||||
value--;
|
||||
}
|
||||
if(this.online_service_status != 1) {
|
||||
value--;
|
||||
}
|
||||
if(this.is_opt_cart != 1) {
|
||||
value--;
|
||||
}
|
||||
if(this.online_service_status != 1) {
|
||||
value--;
|
||||
}
|
||||
this.setData({bottom_nav_bus_number: value});
|
||||
} else {
|
||||
|
|
@ -1044,6 +1040,14 @@
|
|||
buy_event_type: type
|
||||
});
|
||||
break;
|
||||
// url事件
|
||||
case 'url':
|
||||
if(value == null) {
|
||||
app.globalData.showToast('url事件为空');
|
||||
return false;
|
||||
}
|
||||
app.globalData.url_open(value);
|
||||
break;
|
||||
// 门店
|
||||
case 'plugins-realstore' :
|
||||
var temp_data_list = this.plugins_realstore_data;
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@
|
|||
<view v-if="data_list.length > 0" class="data-list padding-horizontal-main padding-top-main oh">
|
||||
<view v-for="(item, index) in data_list" :key="index" class="item border-radius-main bg-white padding-bottom-sm margin-bottom-main oh pr">
|
||||
<!-- 商品主体内容 -->
|
||||
<navigator :url="'/pages/goods-detail/goods-detail?id=' + item.id" hover-class="none">
|
||||
<navigator :url="item.goods_url" hover-class="none">
|
||||
<image class="goods-img dis-block" :src="item.images" mode="aspectFit"></image>
|
||||
<view class="base padding-horizontal-main margin-top-sm">
|
||||
<view class="multi-text">{{item.title}}</view>
|
||||
|
|
|
|||
|
|
@ -164,7 +164,7 @@
|
|||
<view v-if="floor.goods.length > 0" class="goods-list">
|
||||
<view v-for="(goods, index2) in floor.goods" :key="index2" class="goods bg-white border-radius-main oh pr">
|
||||
<!-- 商品主体内容 -->
|
||||
<navigator :url="'/pages/goods-detail/goods-detail?id=' + goods.id" hover-class="none">
|
||||
<navigator :url="goods.goods_url" hover-class="none">
|
||||
<image class="goods-img dis-block" :src="goods.images" mode="aspectFit"></image>
|
||||
<view class="goods-base padding-horizontal-main margin-top-sm">
|
||||
<view class="goods-title multi-text margin-bottom-sm">{{goods.title}}</view>
|
||||
|
|
@ -214,7 +214,7 @@
|
|||
<text v-if="(item.user.province || null) != null"><text class="padding-left-xs padding-right-xs">-</text>{{item.user.province}}</text>
|
||||
</view>
|
||||
<view class="item-content fl">
|
||||
<navigator :url="'/pages/goods-detail/goods-detail?id=' + item.goods_id" hover-class="none" class="single-text">
|
||||
<navigator :url="item.goods_url" hover-class="none" class="single-text">
|
||||
<image mode="widthFix" :src="item.images" class="va-m br"></image>
|
||||
<text class="margin-left-sm single-text">{{item.title}}</text>
|
||||
</navigator>
|
||||
|
|
|
|||
|
|
@ -26,7 +26,7 @@
|
|||
</view>
|
||||
<view class="data-list oh">
|
||||
<view v-for="(item, index) in data.goods_list" :key="index" class="item padding-bottom-sm border-radius-main bg-white margin-bottom-main">
|
||||
<navigator :url="'/pages/goods-detail/goods-detail?id=' + item.id" hover-class="none">
|
||||
<navigator :url="item.goods_url" hover-class="none">
|
||||
<image class="goods-img dis-block" :src="item.images" mode="aspectFit"></image>
|
||||
<view class="padding-horizontal-main margin-top-sm">
|
||||
<view class="multi-text">{{item.title}}</view>
|
||||
|
|
|
|||
|
|
@ -69,7 +69,7 @@
|
|||
</view>
|
||||
<view class="goods-list oh">
|
||||
<view v-for="(item, index) in data.goods_list" :key="index" class="item padding-bottom-sm border-radius-main bg-white margin-bottom-main oh">
|
||||
<navigator :url="'/pages/goods-detail/goods-detail?id=' + item.id" hover-class="none">
|
||||
<navigator :url="item.goods_url" hover-class="none">
|
||||
<image class="goods-img dis-block" :src="item.images" mode="aspectFit"></image>
|
||||
<view class="base padding-horizontal-main margin-top-sm">
|
||||
<view class="multi-text">{{item.title}}</view>
|
||||
|
|
|
|||
|
|
@ -83,7 +83,7 @@
|
|||
</view>
|
||||
<view class="goods-list oh">
|
||||
<view v-for="(item, index) in goods_list" :key="index" class="item padding-bottom-sm border-radius-main bg-white margin-bottom-main oh">
|
||||
<navigator :url="'/pages/goods-detail/goods-detail?id=' + item.id" hover-class="none">
|
||||
<navigator :url="item.goods_url" hover-class="none">
|
||||
<image class="goods-img dis-block" :src="item.images" mode="aspectFit"></image>
|
||||
<view class="base padding-horizontal-main margin-top-sm">
|
||||
<view class="multi-text">{{item.title}}</view>
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@
|
|||
<scroll-view :scroll-y="true" class="scroll-box" @scrolltolower="scroll_lower" lower-threshold="30">
|
||||
<view v-if="data_list.length > 0" class="data-list oh padding-horizontal-main padding-top-main">
|
||||
<view v-for="(item, index) in data_list" :key="index" class="item padding-bottom-sm border-radius-main bg-white margin-bottom-main oh">
|
||||
<navigator :url="'/pages/goods-detail/goods-detail?id=' + item.id" hover-class="none">
|
||||
<navigator :url="item.goods_url" hover-class="none">
|
||||
<image class="goods-img dis-block" :src="item.images" mode="aspectFit"></image>
|
||||
<view class="base padding-horizontal-main margin-top-sm">
|
||||
<view class="multi-text">{{item.title}}</view>
|
||||
|
|
|
|||
|
|
@ -39,7 +39,7 @@
|
|||
</view>
|
||||
<view class="data-list oh">
|
||||
<view v-for="(item, index) in data_base.goods_exchange_data" :key="index" class="item padding-bottom-sm border-radius-main bg-white margin-bottom-main">
|
||||
<navigator :url="'/pages/goods-detail/goods-detail?id=' + item.goods.id" hover-class="none">
|
||||
<navigator :url="item.goods.goods_url" hover-class="none">
|
||||
<image class="goods-img dis-block" :src="item.goods.images" mode="aspectFit"></image>
|
||||
<view class="padding-horizontal-main margin-top-sm">
|
||||
<view class="multi-text">{{item.goods.title}}</view>
|
||||
|
|
|
|||
|
|
@ -149,9 +149,13 @@
|
|||
<block v-if="cart_status">
|
||||
<view class="cart-mask wh-auto ht-auto pf" :data-value="false" @tap="cart_event"></view>
|
||||
<view class="cart-content bg-white border-radius-main pa oh">
|
||||
<block v-if="(cart.data || null) != null && cart.data.length > 0">
|
||||
<block v-if="(cart || null) != null && (cart.data || null) != null && cart.data.length > 0">
|
||||
<view class="oh br-b padding-vertical-main padding-horizontal-main">
|
||||
<text class="va-m text-size-xs cr-base">已选商品</text>
|
||||
<view class="dis-inline-block margin-left-xl text-size-xs">
|
||||
<text class="cr-red">没有已加购的商品?</text>
|
||||
<text class="br-green cr-green round padding-left padding-right padding-top-xs padding-bottom-xs cp" @tap="buy_use_type_event">切换下单类型</text>
|
||||
</view>
|
||||
<view class="fr cp" @tap="cart_all_delete_event">
|
||||
<view class="dis-inline-block va-m">
|
||||
<uni-icons type="trash" size="12" color="#f00"></uni-icons>
|
||||
|
|
@ -192,6 +196,10 @@
|
|||
</block>
|
||||
<block v-else>
|
||||
<component-no-data propStatus="0" propMsg="请先选购商品"></component-no-data>
|
||||
<view class="padding-bottom-xxxl margin-bottom-xxxl tc text-size-xs">
|
||||
<text class="cr-red">没有已加购的商品?</text>
|
||||
<text class="br-green cr-green round padding-left padding-right padding-top-xs padding-bottom-xs cp" @tap="buy_use_type_event">切换下单类型</text>
|
||||
</view>
|
||||
</block>
|
||||
</view>
|
||||
</block>
|
||||
|
|
@ -382,9 +390,9 @@
|
|||
// 获取数据、仅首次调用
|
||||
// 获取列表接口和购物车
|
||||
if(this.is_first == 1) {
|
||||
this.setData({is_first: 0});
|
||||
this.get_data_list();
|
||||
this.get_cart_data();
|
||||
this.get_cart_data(this.is_first);
|
||||
this.setData({is_first: 0});
|
||||
} else {
|
||||
// 非首次赋值购物车数据
|
||||
this.setData({
|
||||
|
|
@ -415,7 +423,7 @@
|
|||
});
|
||||
},
|
||||
|
||||
// 获取数据-获取数据
|
||||
// 获取数据-商品列表
|
||||
get_data_list(is_mandatory) {
|
||||
// 分页是否还有数据
|
||||
if ((is_mandatory || 0) == 0) {
|
||||
|
|
@ -839,8 +847,8 @@
|
|||
});
|
||||
},
|
||||
|
||||
// 获取购物车数据
|
||||
get_cart_data() {
|
||||
// 获取购物车数据、参数是否首次请求
|
||||
get_cart_data(is_first = 0) {
|
||||
uni.request({
|
||||
url: app.globalData.get_request_url("cartdata", "detail", "realstore"),
|
||||
method: 'POST',
|
||||
|
|
@ -854,6 +862,13 @@
|
|||
cart: res.data.data
|
||||
});
|
||||
this.cart_data_list_handle();
|
||||
|
||||
// 首次判断是否需要开启购物车
|
||||
if(is_first == 1 && (this.params.is_show_cart || 0) == 1) {
|
||||
this.setData({
|
||||
cart_status: true
|
||||
});
|
||||
}
|
||||
} else {
|
||||
app.globalData.showToast('请求失败,请重试!');
|
||||
}
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@
|
|||
<view class="goods bg-white padding-main border-radius-main spacing-mb">
|
||||
<view class="br-b padding-bottom-main fw-b text-size">商品信息</view>
|
||||
<view v-for="(item, index) in detail.items" :key="index" class="goods-item br-b-dashed oh padding-main">
|
||||
<navigator :url="'/pages/goods-detail/goods-detail?id=' + item.goods_id" hover-class="none">
|
||||
<navigator :url="item.goods_url" hover-class="none">
|
||||
<image class="goods-image fl radius" :src="item.images" mode="aspectFill"></image>
|
||||
<view class="goods-base pr">
|
||||
<view class="multi-text">{{item.title}}</view>
|
||||
|
|
|
|||
|
|
@ -26,7 +26,7 @@
|
|||
<view v-if="goods.length > 0">
|
||||
<view class="data-list oh">
|
||||
<view v-for="(item, index) in goods" :key="index" class="item padding-bottom-sm border-radius-main bg-white margin-bottom-main">
|
||||
<navigator :url="'/pages/goods-detail/goods-detail?id=' + item.id" hover-class="none">
|
||||
<navigator :url="item.goods_url" hover-class="none">
|
||||
<image class="goods-img dis-block" :src="item.images" mode="aspectFit"></image>
|
||||
<view class="padding-horizontal-main margin-top-sm">
|
||||
<view class="multi-text">{{item.title}}</view>
|
||||
|
|
|
|||
|
|
@ -116,7 +116,7 @@
|
|||
<block v-if="goods_list.length > 0">
|
||||
<block v-for="(item, index) in goods_list" :key="index">
|
||||
<view v-if="item.active != 0" class="item padding-bottom-sm border-radius-main bg-white margin-bottom-main oh">
|
||||
<navigator :url="'/pages/goods-detail/goods-detail?id=' + item.id" hover-class="none">
|
||||
<navigator :url="item.goods_url" hover-class="none">
|
||||
<image class="goods-img dis-block" :src="item.images" mode="aspectFit"></image>
|
||||
<view class="base padding-horizontal-main margin-top">
|
||||
<view class="multi-text">{{item.title}}</view>
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@
|
|||
<scroll-view :scroll-y="true" class="scroll-box scroll-box-ece-nav" @scrolltolower="scroll_lower" lower-threshold="30">
|
||||
<view v-if="data_list.length > 0" class="data-list padding-horizontal-main padding-top-main oh">
|
||||
<view v-for="(item, index) in data_list" :key="index" class="item padding-bottom-sm border-radius-main bg-white margin-bottom-main oh">
|
||||
<navigator :url="'/pages/goods-detail/goods-detail?id=' + item.id" hover-class="none">
|
||||
<navigator :url="item.goods_url" hover-class="none">
|
||||
<image class="goods-img dis-block" :src="item.images" mode="aspectFit"></image>
|
||||
<view class="base padding-horizontal-main margin-top">
|
||||
<view class="multi-text">{{item.title}}</view>
|
||||
|
|
|
|||
|
|
@ -56,7 +56,7 @@
|
|||
</view>
|
||||
<view class="data-list oh">
|
||||
<view v-for="(item, index) in data.goods_list" :key="index" class="item padding-bottom-sm border-radius-main bg-white margin-bottom-main">
|
||||
<navigator :url="'/pages/goods-detail/goods-detail?id=' + item.id" hover-class="none">
|
||||
<navigator :url="item.goods_url" hover-class="none">
|
||||
<image class="goods-img dis-block" :src="item.images" mode="aspectFit"></image>
|
||||
<view class="padding-horizontal-main margin-top-sm">
|
||||
<view class="multi-text">{{item.title}}</view>
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
<scroll-view :scroll-y="true" class="scroll-box" @scrolltolower="scroll_lower" lower-threshold="30">
|
||||
<view v-if="data_list.length > 0" class="padding-horizontal-main padding-top-main">
|
||||
<view v-for="(item, index) in data_list" :key="index" class="padding-main border-radius-main oh bg-white spacing-mb">
|
||||
<navigator :url="'/pages/goods-detail/goods-detail?id=' + item.goods_id" hover-class="none">
|
||||
<navigator :url="item.goods_url" hover-class="none">
|
||||
<image class="goods-image fl radius" :src="item.images" mode="aspectFill"></image>
|
||||
<view class="goods-base">
|
||||
<view class="goods-title multi-text">{{item.title}}</view>
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
<scroll-view :scroll-y="true" class="scroll-box" @scrolltolower="scroll_lower" lower-threshold="30">
|
||||
<view v-if="data_list.length > 0" class="padding-horizontal-main padding-top-main">
|
||||
<view v-for="(item, index) in data_list" :key="index" class="padding-main border-radius-main oh bg-white spacing-mb">
|
||||
<navigator :url="'/pages/goods-detail/goods-detail?id=' + item.goods_id" hover-class="none">
|
||||
<navigator :url="item.goods_url" hover-class="none">
|
||||
<image class="goods-image fl radius" :src="item.images" mode="aspectFill"></image>
|
||||
<view class="goods-base">
|
||||
<view class="goods-title multi-text">{{item.title}}</view>
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
<form @submit="formSubmit" class="form-container">
|
||||
<view v-for="(item, index) in detail.items" :key="index" class="form-gorup oh">
|
||||
<view class="oh">
|
||||
<navigator :url="'/pages/goods-detail/goods-detail?id=' + item.goods_id" hover-class="none">
|
||||
<navigator :url="item.goods_url" hover-class="none">
|
||||
<image class="goods-image fl radius br margin-right-lg" :src="item.images" mode="aspectFill"></image>
|
||||
</navigator>
|
||||
<view class="item-base fl margin-top-sm">
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@
|
|||
<view class="goods bg-white padding-main border-radius-main spacing-mb">
|
||||
<view class="br-b padding-bottom-main fw-b text-size">商品信息</view>
|
||||
<view v-for="(item, index) in detail.items" :key="index" class="goods-item br-b-dashed oh padding-main">
|
||||
<navigator :url="'/pages/goods-detail/goods-detail?id=' + item.goods_id" hover-class="none">
|
||||
<navigator :url="item.goods_url" hover-class="none">
|
||||
<image class="goods-image fl radius" :src="item.images" mode="aspectFill"></image>
|
||||
<view class="goods-base pr">
|
||||
<view class="multi-text">{{item.title}}</view>
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
<!-- 商品 -->
|
||||
<view class="goods padding-main border-radius-main bg-white spacing-mb">
|
||||
<view class="goods-item oh">
|
||||
<navigator :url="'/pages/goods-detail/goods-detail?id=' + order_data.items.goods_id" hover-class="none">
|
||||
<navigator :url="order_data.items.goods_url" hover-class="none">
|
||||
<image class="goods-image fl radius" :src="order_data.items.images" mode="aspectFill"></image>
|
||||
<view class="goods-base">
|
||||
<view class="multi-text">{{order_data.items.title}}</view>
|
||||
|
|
|
|||
Loading…
Reference in New Issue