merge
commit
cb894f4625
8
App.vue
8
App.vue
|
|
@ -67,11 +67,11 @@
|
|||
// tabbar页面
|
||||
tabbar_pages: ['/pages/index/index', '/pages/goods-category/goods-category', '/pages/cart/cart', '/pages/user/user'],
|
||||
// 请求地址
|
||||
// request_url: 'https://d1.shopxo.vip/',
|
||||
request_url: 'https://new.shopxo.vip/',
|
||||
// request_url: 'https://new.shopxo.vip/',
|
||||
request_url: 'http://shopxo.com/',
|
||||
// 静态资源地址(如系统根目录不在public目录下面请在静态地址后面加public目录、如:https://d1.shopxo.vip/public/)
|
||||
// static_url: 'https://d1.shopxo.vip/',
|
||||
static_url: 'https://new.shopxo.vip/',
|
||||
// static_url: 'https://new.shopxo.vip/',
|
||||
static_url: 'http://shopxo.com/',
|
||||
// 系统类型(默认default、如额外独立小程序、可与程序分身插件实现不同主体小程序及支付独立)
|
||||
system_type: 'default',
|
||||
// 基础信息
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
<scroll-view :scroll-y="true" class="scroll-box" :class="data_list.length > 0 ? 'active' : ''" @scrolltolower="scroll_lower" lower-threshold="60">
|
||||
<view v-if="data_list.length > 0" class="cart-page">
|
||||
<!-- 数据列表 -->
|
||||
<view :class="'padding-main ' + (source_type != 'cart' ? 'bottom-line-exclude' : '')">
|
||||
<view class="padding-horizontal-main padding-top-main" :class="source_type != 'cart' ? 'bottom-line-exclude' : ''">
|
||||
<uni-swipe-action>
|
||||
<view v-for="(item, index) in data_list" :key="index" class="oh border-radius-main bg-white spacing-mb">
|
||||
<uni-swipe-action-item :right-options="swipe_options" @tap="swipe_opt_event" @change="swipe_change($event, index)">
|
||||
|
|
@ -77,10 +77,10 @@
|
|||
|
||||
<!-- 猜你喜欢 -->
|
||||
<view v-if="goods_list.length > 0" class="padding-horizontal-main">
|
||||
<view class="tc">
|
||||
<view class="tc spacing-mb">
|
||||
<view class="guess-like fw-b text-size-md">猜你喜欢</view>
|
||||
</view>
|
||||
<component-goods-list class="padding-top-main" :propData="{ style_type: 1, goods_list: goods_list, random: random_value }" :propLabel="plugins_label_data" :propCurrencySymbol="currency_symbol" :propIsCartParaCurve="true" propSource="index" @CartSuccessEvent="cart_success_event">
|
||||
<component-goods-list class="spacing-mt" :propData="{ style_type: 1, goods_list: goods_list, random: random_value }" :propLabel="plugins_label_data" :propCurrencySymbol="currency_symbol" :propIsCartParaCurve="true" propSource="index" @CartSuccessEvent="cart_success_event">
|
||||
</component-goods-list>
|
||||
</view>
|
||||
<!-- 结尾 -->
|
||||
|
|
@ -857,6 +857,9 @@
|
|||
/**
|
||||
* 商品列表
|
||||
*/
|
||||
.cart-page {
|
||||
margin-bottom: 40rpx;
|
||||
}
|
||||
.scroll-box.active {
|
||||
height: calc(100vh - 125rpx);
|
||||
/* 125rpx */
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
<template>
|
||||
<view>
|
||||
<view class="search-content pr">
|
||||
<view class="search-icon dis-inline-block pa" @tap="search_icon_event">
|
||||
<view class="search-icon dis-inline-block pa" @tap="search_event">
|
||||
<iconfont :name="propIcon" :color="propIconColor" size="28rpx"></iconfont>
|
||||
</view>
|
||||
<input
|
||||
|
|
@ -17,169 +17,188 @@
|
|||
@blur="search_input_blur_event"
|
||||
:style="'color:' + propTextColor + ';background:' + propBgColor + ';' + ((propBrColor || null) != null ? 'border:1px solid ' + propBrColor + ';' : '')"
|
||||
/>
|
||||
<button v-if="propIsBtn" class="search-btn pa bg-main" size="mini" type="default">搜索</button>
|
||||
<button v-if="propIsBtn" class="search-btn pa bg-main" size="mini" type="default" @tap="search_event">搜索</button>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
<script>
|
||||
const app = getApp();
|
||||
export default {
|
||||
data() {
|
||||
return {};
|
||||
},
|
||||
components: {},
|
||||
props: {
|
||||
propUrl: {
|
||||
type: String,
|
||||
default: "/pages/goods-search/goods-search",
|
||||
const app = getApp();
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
input_value: '',
|
||||
};
|
||||
},
|
||||
propFormName: {
|
||||
type: String,
|
||||
default: "keywords",
|
||||
components: {},
|
||||
props: {
|
||||
propUrl: {
|
||||
type: String,
|
||||
default: '/pages/goods-search/goods-search',
|
||||
},
|
||||
propFormName: {
|
||||
type: String,
|
||||
default: 'keywords',
|
||||
},
|
||||
propPlaceholder: {
|
||||
type: String,
|
||||
default: '其实搜索很简单 ^_^!',
|
||||
},
|
||||
propDefaultValue: {
|
||||
type: String,
|
||||
default: '',
|
||||
},
|
||||
propPlaceholderClass: {
|
||||
type: String,
|
||||
default: 'cr-grey-c',
|
||||
},
|
||||
propTextColor: {
|
||||
type: String,
|
||||
default: '#666',
|
||||
},
|
||||
propBgColor: {
|
||||
type: String,
|
||||
default: '#fff',
|
||||
},
|
||||
propBrColor: {
|
||||
type: String,
|
||||
default: '',
|
||||
},
|
||||
propIsRequired: {
|
||||
type: Boolean,
|
||||
default: true,
|
||||
},
|
||||
propIsOnEvent: {
|
||||
type: Boolean,
|
||||
default: false,
|
||||
},
|
||||
propIsOnFocusEvent: {
|
||||
type: Boolean,
|
||||
default: false,
|
||||
},
|
||||
propIsOnBlurEvent: {
|
||||
type: Boolean,
|
||||
default: false,
|
||||
},
|
||||
propIsOnInputEvent: {
|
||||
type: Boolean,
|
||||
default: false,
|
||||
},
|
||||
propIcon: {
|
||||
type: String,
|
||||
default: 'icon-index-search',
|
||||
},
|
||||
propIconColor: {
|
||||
type: String,
|
||||
default: '#ccc',
|
||||
},
|
||||
propIsIconOnEvent: {
|
||||
type: Boolean,
|
||||
default: false,
|
||||
},
|
||||
propIsBtn: {
|
||||
type: Boolean,
|
||||
default: false,
|
||||
},
|
||||
},
|
||||
propPlaceholder: {
|
||||
type: String,
|
||||
default: "其实搜索很简单 ^_^!",
|
||||
},
|
||||
propDefaultValue: {
|
||||
type: String,
|
||||
default: "",
|
||||
},
|
||||
propPlaceholderClass: {
|
||||
type: String,
|
||||
default: "cr-grey-c",
|
||||
},
|
||||
propTextColor: {
|
||||
type: String,
|
||||
default: "#666",
|
||||
},
|
||||
propBgColor: {
|
||||
type: String,
|
||||
default: "#fff",
|
||||
},
|
||||
propBrColor: {
|
||||
type: String,
|
||||
default: "",
|
||||
},
|
||||
propIsRequired: {
|
||||
type: Boolean,
|
||||
default: true,
|
||||
},
|
||||
propIsOnEvent: {
|
||||
type: Boolean,
|
||||
default: false,
|
||||
},
|
||||
propIsOnFocusEvent: {
|
||||
type: Boolean,
|
||||
default: false,
|
||||
},
|
||||
propIsOnBlurEvent: {
|
||||
type: Boolean,
|
||||
default: false,
|
||||
},
|
||||
propIsOnInputEvent: {
|
||||
type: Boolean,
|
||||
default: false,
|
||||
},
|
||||
propIcon: {
|
||||
type: String,
|
||||
default: "icon-index-search",
|
||||
},
|
||||
propIconColor: {
|
||||
type: String,
|
||||
default: "#ccc",
|
||||
},
|
||||
propIsIconOnEvent: {
|
||||
type: Boolean,
|
||||
default: false,
|
||||
},
|
||||
propIsBtn: {
|
||||
type: Boolean,
|
||||
default: false,
|
||||
},
|
||||
},
|
||||
methods: {
|
||||
// 搜索输入事件
|
||||
search_input_value_event(e) {
|
||||
// 是否回调事件
|
||||
if (this.propIsOnInputEvent) {
|
||||
this.$emit("oninput", e.detail.value);
|
||||
}
|
||||
},
|
||||
|
||||
// 搜索失去焦点事件
|
||||
search_input_blur_event(e) {
|
||||
// 是否回调事件
|
||||
if (this.propIsOnBlurEvent) {
|
||||
this.$emit("onblur", e.detail.value);
|
||||
}
|
||||
},
|
||||
|
||||
// 搜索获取焦点事件
|
||||
search_input_focus_event(e) {
|
||||
// 是否回调事件
|
||||
if (this.propIsOnFocusEvent) {
|
||||
this.$emit("onfocus", e.detail.value);
|
||||
}
|
||||
},
|
||||
|
||||
// 搜索确认事件
|
||||
search_submit_confirm_event(e) {
|
||||
// 是否验证必须要传值
|
||||
if (this.propIsRequired && e.detail.value == "") {
|
||||
app.globalData.showToast("请输入搜索关键字");
|
||||
return false;
|
||||
}
|
||||
|
||||
// 是否回调事件
|
||||
if (this.propIsOnEvent) {
|
||||
this.$emit("onsearch", e.detail.value);
|
||||
} else {
|
||||
// 进入搜索页面
|
||||
uni.navigateTo({
|
||||
url: this.propUrl + "?" + this.propFormName + "=" + e.detail.value,
|
||||
methods: {
|
||||
// 搜索输入事件
|
||||
search_input_value_event(e) {
|
||||
this.setData({
|
||||
input_value: e.detail.value,
|
||||
});
|
||||
}
|
||||
},
|
||||
// 是否回调事件
|
||||
if (this.propIsOnInputEvent) {
|
||||
this.$emit('oninput', e.detail.value);
|
||||
}
|
||||
},
|
||||
|
||||
// icon事件
|
||||
search_icon_event(e) {
|
||||
// 是否回调事件
|
||||
if (this.propIsIconOnEvent) {
|
||||
this.$emit("onicon", {});
|
||||
}
|
||||
// 搜索失去焦点事件
|
||||
search_input_blur_event(e) {
|
||||
this.setData({
|
||||
input_value: e.detail.value,
|
||||
});
|
||||
// 是否回调事件
|
||||
if (this.propIsOnBlurEvent) {
|
||||
this.$emit('onblur', e.detail.value);
|
||||
}
|
||||
},
|
||||
|
||||
// 搜索获取焦点事件
|
||||
search_input_focus_event(e) {
|
||||
this.setData({
|
||||
input_value: e.detail.value,
|
||||
});
|
||||
// 是否回调事件
|
||||
if (this.propIsOnFocusEvent) {
|
||||
this.$emit('onfocus', e.detail.value);
|
||||
}
|
||||
},
|
||||
|
||||
// 搜索确认事件
|
||||
search_submit_confirm_event(e) {
|
||||
// 是否验证必须要传值
|
||||
if (this.propIsRequired && e.detail.value == '') {
|
||||
app.globalData.showToast('请输入搜索关键字');
|
||||
return false;
|
||||
}
|
||||
this.setData({
|
||||
input_value: e.detail.value,
|
||||
});
|
||||
// 是否回调事件
|
||||
if (this.propIsOnEvent) {
|
||||
this.$emit('onsearch', e.detail.value);
|
||||
} else {
|
||||
// 进入搜索页面
|
||||
uni.navigateTo({
|
||||
url: this.propUrl + '?' + this.propFormName + '=' + e.detail.value,
|
||||
});
|
||||
}
|
||||
},
|
||||
|
||||
// icon事件
|
||||
search_event() {
|
||||
// 是否回调事件
|
||||
if (this.propIsIconOnEvent) {
|
||||
this.$emit('onsearch', this.input_value);
|
||||
} else {
|
||||
console.log('this.input_value', this.input_value);
|
||||
// 进入搜索页面
|
||||
uni.navigateTo({
|
||||
url: this.propUrl + '?' + this.propFormName + '=' + this.input_value,
|
||||
});
|
||||
}
|
||||
},
|
||||
},
|
||||
},
|
||||
};
|
||||
};
|
||||
</script>
|
||||
<style>
|
||||
.search-content .search-icon {
|
||||
z-index: 1;
|
||||
padding: 10rpx;
|
||||
left: 20rpx;
|
||||
top: 50%;
|
||||
transform: translateY(-50%);
|
||||
}
|
||||
.search-content .search-icon {
|
||||
z-index: 1;
|
||||
padding: 10rpx;
|
||||
left: 20rpx;
|
||||
top: 50%;
|
||||
transform: translateY(-50%);
|
||||
}
|
||||
|
||||
.search-content input {
|
||||
font-size: 24rpx;
|
||||
padding: 0 32rpx 0 76rpx;
|
||||
box-sizing: border-box;
|
||||
height: 64rpx;
|
||||
line-height: 64rpx;
|
||||
}
|
||||
.search-content input {
|
||||
font-size: 24rpx;
|
||||
padding: 0 32rpx 0 76rpx;
|
||||
box-sizing: border-box;
|
||||
height: 64rpx;
|
||||
line-height: 64rpx;
|
||||
}
|
||||
|
||||
.search-content .search-btn {
|
||||
width: 106rpx;
|
||||
height: 56rpx;
|
||||
line-height: 56rpx;
|
||||
font-size: 28rpx;
|
||||
border-radius: 30rpx;
|
||||
padding: 0;
|
||||
color: #fff;
|
||||
right: 4rpx;
|
||||
top: 50%;
|
||||
transform: translateY(-50%);
|
||||
z-index: 1;
|
||||
}
|
||||
.search-content .search-btn {
|
||||
width: 106rpx;
|
||||
height: 56rpx;
|
||||
line-height: 56rpx;
|
||||
font-size: 28rpx;
|
||||
border-radius: 30rpx;
|
||||
padding: 0;
|
||||
color: #fff;
|
||||
right: 4rpx;
|
||||
top: 50%;
|
||||
transform: translateY(-50%);
|
||||
z-index: 1;
|
||||
}
|
||||
</style>
|
||||
|
|
|
|||
|
|
@ -57,7 +57,9 @@
|
|||
<!-- 内容 -->
|
||||
<view class="content padding-horizontal-main">
|
||||
<!-- 商城公告 -->
|
||||
<uni-notice-bar v-if="load_status == 1 && (common_shop_notice || null) != null" class="padding-0" show-icon scrollable :text="common_shop_notice" background-color="transparent" color="#666" />
|
||||
<view v-if="load_status == 1 && (common_shop_notice || null) != null" class="spacing-mb">
|
||||
<uni-notice-bar show-icon scrollable :text="common_shop_notice" background-color="transparent" color="#666" />
|
||||
</view>
|
||||
<!-- 推荐文章 -->
|
||||
<view v-if="article_list.length > 0" class="article-list padding-main border-radius-main oh bg-white spacing-mb">
|
||||
<view mode="aspectFit" class="new-icon va-m fl cp pr divider-r" data-value="/pages/article-category/article-category" @tap="url_event"> <text>最新</text><text class="cr-red">资讯</text> </view>
|
||||
|
|
|
|||
|
|
@ -11,7 +11,6 @@
|
|||
:scale="scale"
|
||||
:markers="markers"
|
||||
:polyline="polyline"
|
||||
@markertap="marker_tap_event"
|
||||
></map>
|
||||
<view class="team bs-bb oh pa border-radius-main padding-main">
|
||||
<view class="top pr">
|
||||
|
|
@ -160,40 +159,7 @@
|
|||
// 文本事件
|
||||
text_event(e) {
|
||||
app.globalData.text_event_handle(e);
|
||||
},
|
||||
|
||||
// 打开url事件
|
||||
url_event(e) {
|
||||
app.globalData.url_event(e);
|
||||
},
|
||||
|
||||
// 地图查看
|
||||
address_map_event(e) {
|
||||
var index = e.currentTarget.dataset.index;
|
||||
var type = e.currentTarget.dataset.type || null;
|
||||
if(type == 'map') {
|
||||
this.address_map_handle(this.markers_active_data[index]['address_data']);
|
||||
} else {
|
||||
var temp_data = this.data_list;
|
||||
if ((temp_data[index] || null) == null || (temp_data[index]["address_data"] || null) == null) {
|
||||
app.globalData.showToast("地址有误");
|
||||
return false;
|
||||
}
|
||||
this.address_map_handle(temp_data[index]["address_data"]);
|
||||
}
|
||||
},
|
||||
|
||||
// 地址打开地图
|
||||
address_map_handle(ads) {
|
||||
var name = ads.alias || ads.name || "";
|
||||
app.globalData.open_location(ads.lng, ads.lat, name, ads.address_info);
|
||||
},
|
||||
|
||||
// 点击标记点事件
|
||||
marker_tap_event(e) {
|
||||
var index = e.detail.markerId;
|
||||
console.log(index)
|
||||
},
|
||||
}
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
|
|
|||
|
|
@ -104,7 +104,7 @@
|
|||
|
||||
<!-- 会员中心通知 -->
|
||||
<view v-if="(user_vip || null) != null && (data_base.user_vip_center_notice || null) != null && data_base.user_vip_center_notice.length > 0" class="padding-horizontal-main">
|
||||
<uni-notice-bar class="padding-0 margin-0" show-icon scrollable :text="data_base.user_vip_center_notice.join('')" background-color="transparent" color="#333" />
|
||||
<uni-notice-bar class="padding-0 margin-0" show-icon scrollable :text="data_base.user_vip_center_notice.join('')" background-color="transparent" color="#666" />
|
||||
</view>
|
||||
|
||||
<view v-if="statistics_data !== null" class="padding-horizontal-main spacing-mt">
|
||||
|
|
@ -165,7 +165,7 @@
|
|||
</view>
|
||||
<!-- 会员中心通知 -->
|
||||
<view v-if="(data_base.not_opening_vip_desc || null) != null && data_base.not_opening_vip_desc.length > 0" class="padding-horizontal-main padding-bottom-lg">
|
||||
<uni-notice-bar class="padding-0" show-icon scrollable :text="data_base.not_opening_vip_desc.join('')" background-color="transparent" color="#333" />
|
||||
<uni-notice-bar class="padding-0" show-icon scrollable :text="data_base.not_opening_vip_desc.join('')" background-color="transparent" color="#666" />
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
<template>
|
||||
<view>
|
||||
<view v-if="(info || null) != null">
|
||||
<view v-if="(info || null) != null" class="pr">
|
||||
<view class="pr">
|
||||
<!-- 头部背景 -->
|
||||
<image :src="info.banner" mode="widthFix" class="wh-auto pa left-0 right-0" />
|
||||
|
|
|
|||
|
|
@ -74,8 +74,23 @@
|
|||
*/
|
||||
@media only screen and (min-width:960px) {
|
||||
.wallet-bg {
|
||||
/* #ifdef H5 || APP */
|
||||
/* #ifdef H5 */
|
||||
top: -540rpx !important;
|
||||
/* #endif */
|
||||
}
|
||||
|
||||
.filter-blur-child {
|
||||
/* #ifdef H5 */
|
||||
left: -30rpx;
|
||||
top: -30px;
|
||||
right: -30px;
|
||||
bottom: -30px;
|
||||
/* #endif */
|
||||
}
|
||||
|
||||
.wallet-child-bg {
|
||||
/* #ifdef H5 */
|
||||
height: 100% !important;
|
||||
/* #endif */
|
||||
}
|
||||
}
|
||||
|
|
@ -21,7 +21,7 @@
|
|||
</view>
|
||||
<view class="content oh cr-white pr filter-blur">
|
||||
<view class="pa content-padding-1 oh filter-blur-child">
|
||||
<image :src="wallet_static_url + 'wallet-bg.png'" mode="widthFix" class="wh-auto" />
|
||||
<image :src="wallet_static_url + 'wallet-bg.png'" mode="widthFix" class="wh-auto wallet-child-bg" />
|
||||
</view>
|
||||
<view class="pr z-i flex-row jc-c">
|
||||
<view class="flex-1 flex-width">
|
||||
|
|
|
|||
|
|
@ -44,7 +44,7 @@
|
|||
</view>
|
||||
</block>
|
||||
<block v-else>
|
||||
<view v-if="(address_data.province_name || null) != null" class="padding-top-xxxl" :class="home_user_address_map_status == 1 ? 'br-t-dashed padding-top-sm margin-top-sm' : ''">
|
||||
<view v-if="(address_data.province_name || null) != null" :class="home_user_address_map_status == 1 ? 'br-t-dashed padding-top-sm margin-top-sm' : ''">
|
||||
{{ address_data.province_name }}{{ (address_data.city_name || null) === null ? '' : '-' + address_data.city_name }}{{ (address_data.county_name || null) === null ? '' : '-' + address_data.county_name }}
|
||||
</view>
|
||||
</block>
|
||||
|
|
@ -60,11 +60,11 @@
|
|||
<view v-if="is_user_address_discern == 1" class="pr padding-top-sm">
|
||||
<view class="intelligent-identification oh" :style="identfication_show ? 'height:254rpx;' : 'height:0;'">
|
||||
<view class="bg-base border-radius-main padding-main oh">
|
||||
<textarea @input="address_discern_value_event" class="margin-0" placeholder="粘贴整段地址,自动拆分姓名、电话及地址" placeholder-class="cr-grey" />
|
||||
<cover-view class="padding-top-sm tr" :class="identfication_show ? '' : 'dis-none'">
|
||||
<button type="default" size="mini" class="round cr-base text-size-xs margin-right-sm padding-0 tc" @tap="address_discern_submit_event">清除</button>
|
||||
<textarea @input="address_discern_value_event" :value="address_discern_value" class="margin-0" placeholder="粘贴整段地址,自动拆分姓名、电话及地址" placeholder-class="cr-grey" />
|
||||
<view class="padding-top-sm tr" :class="identfication_show ? '' : 'dis-none'">
|
||||
<button type="default" size="mini" class="round cr-base text-size-xs margin-right-sm padding-0 tc" @tap="clear_discern_submit_event">清除</button>
|
||||
<button type="default" size="mini" class="round bg-main cr-white text-size-xs padding-0 tc" @tap="address_discern_submit_event">识别</button>
|
||||
</cover-view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="tc padding-top-main" @tap="identfication_change">
|
||||
|
|
@ -490,6 +490,12 @@
|
|||
// 地址识别处理
|
||||
this.address_discern_handle({ address: this.address_discern_value }, 1, 0);
|
||||
},
|
||||
// 清除
|
||||
clear_discern_submit_event() {
|
||||
this.setData({
|
||||
address_discern_value: '',
|
||||
});
|
||||
},
|
||||
|
||||
// 地址识别处理
|
||||
// data 地址信息
|
||||
|
|
|
|||
|
|
@ -160,7 +160,7 @@
|
|||
|
||||
<!-- 用户中心公告 -->
|
||||
<view v-if="(common_user_center_notice || null) != null" class="padding-horizontal-main">
|
||||
<uni-notice-bar class="padding-0 margin-0" show-icon scrollable :text="common_user_center_notice" background-color="transparent" color="#333" />
|
||||
<uni-notice-bar class="padding-0 margin-0" show-icon scrollable :text="common_user_center_notice" background-color="transparent" color="#666" />
|
||||
</view>
|
||||
<!-- 在线客服 -->
|
||||
<component-online-service :propIsNav="true" :propIsBar="true"></component-online-service>
|
||||
|
|
|
|||
Loading…
Reference in New Issue