Commit 1874162d authored by 黄媛媛's avatar 黄媛媛

Merge branch 'master' of http://gitlab.oytour.com/viitto/mallapp

parents 08343556 83de98fd
...@@ -21,9 +21,7 @@ ...@@ -21,9 +21,7 @@
</view> </view>
<view class="amount">库存 {{ goodamount }} {{ g.unit }}</view> <view class="amount">库存 {{ goodamount }} {{ g.unit }}</view>
<view class="sku">{{ skuObj ? '已选择' : '选择' }} {{ sku }}</view> <view class="sku">{{ skuObj ? '已选择' : '选择' }} {{ sku }}</view>
<view class="sku_close"> <view class="sku_close"><u-icon name="cross" color="#9F9F9F" @click="cloGood()" size="40" /></view>
<u-icon name="cross" color="#9F9F9F" @click="cloGood()" size="40"/>
</view>
</view> </view>
</view> </view>
<view class="sku-box"> <view class="sku-box">
...@@ -175,8 +173,8 @@ export default { ...@@ -175,8 +173,8 @@ export default {
this.g.attr_groups.forEach(x => { this.g.attr_groups.forEach(x => {
if (!this.skuObj) { if (!this.skuObj) {
//(x.checkId = 0), (x.checkName = x.attr_group_name); //(x.checkId = 0), (x.checkName = x.attr_group_name);
(x.checkId = 0), (x.checkName = x.attr_list[0].attr_name); (x.checkId = 0), (x.checkName = x.attr_list[0].attr_name);
x.checkId = x.attr_list[0].attr_id; x.checkId = x.attr_list[0].attr_id;
} else { } else {
let sign = `:${this.skuObj.sign_id}:`; let sign = `:${this.skuObj.sign_id}:`;
x.attr_list.forEach(y => { x.attr_list.forEach(y => {
...@@ -204,7 +202,7 @@ export default { ...@@ -204,7 +202,7 @@ export default {
GoodsId: this.skuObj.goods_id, GoodsId: this.skuObj.goods_id,
SpecificationSort: this.skuObj.sign_id, SpecificationSort: this.skuObj.sign_id,
Number: this.gc == 0 ? 1 : this.gc Number: this.gc == 0 ? 1 : this.gc
}, }
}, },
res => { res => {
uni.showToast({ uni.showToast({
...@@ -225,38 +223,27 @@ export default { ...@@ -225,38 +223,27 @@ export default {
} }
}, },
buy() { buy() {
let ShoppingCartIdList=[]; let ShoppingCartIdList = [];
if (this.skuObj && this.skuObj.id) { if (this.skuObj && this.skuObj.id) {
let good = { let good = {
DetailList: [], DetailList: [],
Use_Integral: 0, Use_Integral: 0,
User_Coupon_Id: 0, User_Coupon_Id: 0,
DeliveryMethod:0, DeliveryMethod: 0,
AddressId:0, AddressId: 0
}; };
let g = { let g = {
GoodsId: this.skuObj.goods_id, GoodsId: this.skuObj.goods_id,
Number: this.gc, Number: this.gc,
SpecificationSort: this.skuObj.sign_id, SpecificationSort: this.skuObj.sign_id
}; };
good.DetailList.push(g); good.DetailList.push(g);
// let g = {
// id: this.skuObj.goods_id,
// num: this.gc,
// cart_id: 0,
// goods_attr_id: this.skuObj.id,
// attr: []
// };
// this.skuObj.attr_list.forEach(x => {
// g.attr.push({
// attr_id: x.attr_id,
// attr_group_id: x.attr_group_id
// });
// });
// this.forms.list[0].goods_list.push(g);
// this.forms.list[0].mch_id = this.g.mch_id;
uni.navigateTo({ uni.navigateTo({
url: '/pages/order-submit/order-submit?formData=' + encodeURIComponent(JSON.stringify(good))+'&IsFormShoppingCart=2&ShoppingCartIdList='+JSON.stringify(ShoppingCartIdList), url:
'/pages/order-submit/order-submit?formData=' +
encodeURIComponent(JSON.stringify(good)) +
'&IsFormShoppingCart=2&ShoppingCartIdList=' +
JSON.stringify(ShoppingCartIdList),
complete(res) { complete(res) {
console.log(res); console.log(res);
} }
...@@ -423,7 +410,7 @@ export default { ...@@ -423,7 +410,7 @@ export default {
width: 1px; width: 1px;
position: relative; position: relative;
} }
.goodsku .chosen-info .sku_close{ .goodsku .chosen-info .sku_close {
position: absolute; position: absolute;
right: 4px; right: 4px;
top: 5px; top: 5px;
......
<template> <template>
<div <div
:style="{ :style="{
'background-color': goodsInfo.backgroundColor, 'background-color': goodsInfo.backgroundColor,
'background-image': goodsInfo.backgroundPicUrl, 'background-image': goodsInfo.backgroundPicUrl,
'border-color': goodsInfo.goodsStyle == 2 ? 'rgb(226, 226, 226)' : '', 'border-color': goodsInfo.goodsStyle == 2 ? 'rgb(226, 226, 226)' : ''
}" }"
> >
<div <div
v-for="(item, gli) in goodList" v-for="(item, gli) in goodList"
:key="gli" :key="gli"
class="good-one" class="good-one"
@click="openGood(item)" @click="openGood(item)"
:style="{ :style="{
border: goodsInfo.goodsStyle == 2 ? '1px solid rgb(226, 226, 226)' : '', border: goodsInfo.goodsStyle == 2 ? '1px solid rgb(226, 226, 226)' : '',
background: background: goodsInfo.goodsStyle == 1 || goodsInfo.goodsStyle == 2 ? '#FFF' : ''
goodsInfo.goodsStyle == 1 || goodsInfo.goodsStyle == 2 ? '#FFF' : '', }"
}" >
> <div class="tips" v-if="goodsInfo.showGoodsTag"><image :src="goodsInfo.goodsTagPicUrl" mode="widthFix" style="width: 100%;" /></div>
<div class="tips" v-if="goodsInfo.showGoodsTag"> <image
<image style="width: calc(100vw - 24px); height: 66vw;"
:src="goodsInfo.goodsTagPicUrl" :mode="goodsInfo.fill == 1 ? 'aspectFill' : 'aspectFit'"
mode="widthFix" :src="item.picUrl"
style="width: 100%;" v-if="goodsInfo.goodsCoverProportion == '3-2'"
/> />
</div> <image
<image style="
style="width: calc(100vw - 24px); height: 66vw;"
:mode="goodsInfo.fill == 1 ? 'aspectFill' : 'aspectFit'"
:src="item.picUrl"
v-if="goodsInfo.goodsCoverProportion == '3-2'"
/>
<image
style="
width: calc(100vw - 24px); width: calc(100vw - 24px);
height: 100vw; height: 100vw;
border-radius: 10rpx 10rpx 0 0; border-radius: 10rpx 10rpx 0 0;
" "
v-if="goodsInfo.goodsCoverProportion == '1-1'" v-if="goodsInfo.goodsCoverProportion == '1-1'"
:mode="goodsInfo.fill == 1 ? 'aspectFill' : 'aspectFit'" :mode="goodsInfo.fill == 1 ? 'aspectFill' : 'aspectFit'"
:src="item.picUrl" :src="item.picUrl"
/> />
<div class="good-info"> <div class="good-info">
<div class="good-name" v-if="goodsInfo.showGoodsName"> <div class="good-name" v-if="goodsInfo.showGoodsName">{{ item.name }}</div>
{{ item.name }} <div class="good-price-info">
</div> <span class="price" :style="{ color: mainColor }">{{ goodsInfo.showGoodsPrice ? getPrice(item.price) : '' }}</span>
<div class="good-price-info"> <span class="buy" v-if="goodsInfo.showBuyBtn" @click.stop="showSkuHandler(item)">
<span class="price" :style="{ color: mainColor }">{{ <u-icon name="cart-o" size="40" :color="mainColor" v-if="goodsInfo.buyBtn == 'cart'" />
goodsInfo.showGoodsPrice ? getPrice(item.price) : "" <u-icon name="add-o" size="40" :color="mainColor" v-else-if="goodsInfo.buyBtn == 'add'" />
}}</span> <u-button
<span class="buy" v-if="goodsInfo.showBuyBtn" @click.stop="showSkuHandler(item)"> type="primary"
<u-icon size="mini"
name="cart-o" :ripple="true"
size="40" :color="goodsInfo.buttonColor"
:color="mainColor" :custom-style="
v-if="goodsInfo.buyBtn == 'cart'" `backgroundColor:${goodsInfo.buttonColor},color:${goodsInfo.buyBtnStyle == 2 || goodsInfo.buyBtnStyle == 4 ? goodsInfo.buttonColor : '#FFF'}`
/> "
<u-icon :plain="goodsInfo.buyBtnStyle == 2 || goodsInfo.buyBtnStyle == 4"
name="add-o" :shape="goodsInfo.buyBtnStyle == 3 || goodsInfo.buyBtnStyle == 4 ? 'circle' : 'square'"
size="40" v-else
:color="mainColor" >
v-else-if="goodsInfo.buyBtn == 'add'" {{ goodsInfo.buyBtnText }}
/> </u-button>
<u-button </span>
type="primary" </div>
size="mini" </div>
:ripple="true" </div>
:color="goodsInfo.buttonColor" <good-sku v-if="showSku" :option-type="2" borderRadius="20" v-model="showSku" :good="sku"></good-sku>
:custom-style="`backgroundColor:${goodsInfo.buttonColor},color:${ <auth v-if="showAuth" @changeuserinfo="reloadUserinfo" @gbAuth="gbAuth"></auth>
goodsInfo.buyBtnStyle == 2 || goodsInfo.buyBtnStyle == 4 </div>
? goodsInfo.buttonColor
: '#FFF'
}`"
:plain="goodsInfo.buyBtnStyle == 2 || goodsInfo.buyBtnStyle == 4"
:shape="
goodsInfo.buyBtnStyle == 3 || goodsInfo.buyBtnStyle == 4
? 'circle'
: 'square'
"
v-else
>{{ goodsInfo.buyBtnText }}</u-button
>
</span>
</div>
</div>
</div>
<good-sku v-if="showSku" :option-type="2" borderRadius="20" v-model="showSku" :good="sku"></good-sku>
</div>
</template> </template>
<script> <script>
import goodSku from '../goods/goodsku' import goodSku from '../goods/goodsku';
import auth from '@/components/auth/index.vue';
export default { export default {
components:{ components: {
goodSku goodSku,
}, auth
props: ["goodList", "goodsInfo"], },
data() { props: ['goodList', 'goodsInfo'],
return { data() {
mainColor: "", return {
activeKey: 0, mainColor: '',
showSku:false, activeKey: 0,
sku:{} showSku: false,
}; sku: {},
}, showAuth: false,
created() { u: {}
this.mainColor = this.$uiConfig.mainColor; };
}, },
methods: { created() {
openGood(item) { this.mainColor = this.$uiConfig.mainColor;
uni.navigateTo({ url: '/pages/goods/goods?GoodsId='+item.id}); },
}, methods: {
showSkuHandler(g){ openGood(item) {
this.sku=g uni.navigateTo({ url: '/pages/goods/goods?GoodsId=' + item.id });
this.showSku=true },
} showSkuHandler(g) {
}, this.sku = g;
this.u = uni.getStorageSync('mall_UserInfo');
if (!this.u) {
this.u = {
nickName: '未登录',
avatarUrl: ''
};
this.showAuth = true;
} else {
this.showSku = true;
}
},
reloadUserinfo() {
this.u = uni.getStorageSync('mall_UserInfo');
this.showAuth = false;
},
//关闭登录窗口
gbAuth() {
this.showAuth = false;
}
}
}; };
</script> </script>
<style> <style>
.good-one { .good-one {
margin: 12px; margin: 12px;
position: relative; position: relative;
border: 1rpx solid transparent; border: 1rpx solid transparent;
border-radius: 10rpx; border-radius: 10rpx;
padding-bottom: 10rpx; padding-bottom: 10rpx;
overflow: hidden; overflow: hidden;
} }
.good-one .tips { .good-one .tips {
width: 64rpx; width: 64rpx;
height: 64rpx; height: 64rpx;
position: absolute; position: absolute;
top: 0; top: 0;
left: 0; left: 0;
z-index: 4; z-index: 4;
} }
.good-one .guding { .good-one .guding {
position: relative; position: relative;
} }
.good-one .guding .img-box { .good-one .guding .img-box {
position: absolute; position: absolute;
left: 0; left: 0;
right: 0; right: 0;
bottom: 0; bottom: 0;
top: 0; top: 0;
} }
.good-one .good-info { .good-one .good-info {
padding: 12rpx; padding: 12rpx;
padding-bottom: 0; padding-bottom: 0;
margin-top: -5px; margin-top: -5px;
} }
.good-one .good-info .good-name { .good-one .good-info .good-name {
overflow: hidden; overflow: hidden;
text-overflow: ellipsis; text-overflow: ellipsis;
display: -webkit-box; display: -webkit-box;
-webkit-line-clamp: 2; -webkit-line-clamp: 2;
-webkit-box-orient: vertical; -webkit-box-orient: vertical;
margin-bottom: 13px; margin-bottom: 13px;
} }
.good-one .good-info .good-price-info { .good-one .good-info .good-price-info {
display: flex; display: flex;
} }
.good-one .good-info .good-price-info .price { .good-one .good-info .good-price-info .price {
color: #ff4544; color: #ff4544;
font-size: 14px; font-size: 14px;
flex: 1; flex: 1;
} }
.good-one .good-info .good-price-info .buy { .good-one .good-info .good-price-info .buy {
width: 24px; width: 24px;
text-align: right; text-align: right;
} }
</style> </style>
<template> <template>
<view <view
style="padding: 12px; padding-bottom: 0;" style="padding: 12px; padding-bottom: 0;"
:style="{ :style="{
'background-color': goodsInfo.backgroundColor, 'background-color': goodsInfo.backgroundColor,
'background-image': goodsInfo.backgroundPicUrl, 'background-image': goodsInfo.backgroundPicUrl,
'border-color': goodsInfo.goodsStyle == 2 ? 'rgb(226, 226, 226)' : '', 'border-color': goodsInfo.goodsStyle == 2 ? 'rgb(226, 226, 226)' : ''
}" }"
> >
<u-row gutter="24"> <u-row gutter="24">
<u-col span="6" v-for="(item, gli) in goodList" :key="gli"> <u-col span="6" v-for="(item, gli) in goodList" :key="gli">
<view <view
class="good-two" class="good-two"
@click="openGood(item)" @click="openGood(item)"
:style="{ :style="{
border: border: goodsInfo.goodsStyle == 2 ? '1px solid rgb(226, 226, 226)' : '',
goodsInfo.goodsStyle == 2 ? '1px solid rgb(226, 226, 226)' : '', background: goodsInfo.goodsStyle == 1 || goodsInfo.goodsStyle == 2 ? '#FFF' : ''
background: }"
goodsInfo.goodsStyle == 1 || goodsInfo.goodsStyle == 2 >
? '#FFF' <view class="tips" v-if="goodsInfo.showGoodsTag"><image :src="goodsInfo.goodsTagPicUrl" mode="widthFix" style="width:100%" /></view>
: '', <view class="img-box">
}" <view class="img-show">
> <image
<view class="tips" v-if="goodsInfo.showGoodsTag"> style="
<image :src="goodsInfo.goodsTagPicUrl" mode="widthFix" style="width:100%" />
</view>
<view class="img-box">
<view class="img-show">
<image
style="
width: 100%; width: 100%;
height: 100%; height: 100%;
border-radius: 10rpx 10rpx 0 0; border-radius: 10rpx 10rpx 0 0;
" "
:mode="goodsInfo.fill == 1 ? 'aspectFill' : 'aspectFit'" :mode="goodsInfo.fill == 1 ? 'aspectFill' : 'aspectFit'"
:src="item.picUrl" :src="item.picUrl"
/> />
</view> </view>
</view> </view>
<view class="good-info"> <view class="good-info">
<view class="good-name" v-if="goodsInfo.showGoodsName"> <view class="good-name" v-if="goodsInfo.showGoodsName">{{ item.name }}</view>
{{ item.name }} <view class="good-price-info">
</view> <view class="price" :style="{ color: mainColor }">{{ goodsInfo.showGoodsPrice ? getPrice(item.price) : '' }}</view>
<view class="good-price-info"> <view class="buy" v-if="goodsInfo.showBuyBtn" @click.stop="showSkuHandler(item)">
<view class="price" :style="{'color':mainColor}">{{ <u-icon name="cart-o" size="40" :color="mainColor" v-if="goodsInfo.buyBtn == 'cart'" />
goodsInfo.showGoodsPrice ? getPrice(item.price) : "" <u-icon name="add-o" size="40" :color="mainColor" v-else-if="goodsInfo.buyBtn == 'add'" />
}}</view> <u-button
<view class="buy" v-if="goodsInfo.showBuyBtn"> type="primary"
<u-icon size="mini"
name="cart-o" :ripple="true"
size="40" :color="goodsInfo.buttonColor"
:color="mainColor" :custom-style="
v-if="goodsInfo.buyBtn == 'cart'" `backgroundColor:${goodsInfo.buttonColor},color:${
/> goodsInfo.buyBtnStyle == 2 || goodsInfo.buyBtnStyle == 4 ? goodsInfo.buttonColor : '#FFF'
<u-icon }`
name="add-o" "
size="40" :plain="goodsInfo.buyBtnStyle == 2 || goodsInfo.buyBtnStyle == 4"
:color="mainColor" :shape="goodsInfo.buyBtnStyle == 3 || goodsInfo.buyBtnStyle == 4 ? 'circle' : 'square'"
v-else-if="goodsInfo.buyBtn == 'add'" v-else
/> >
<u-button {{ goodsInfo.buyBtnText }}
type="primary" </u-button>
size="mini" </view>
:ripple="true" </view>
:color="goodsInfo.buttonColor" </view>
:custom-style="`backgroundColor:${ </view>
goodsInfo.buttonColor </u-col>
},color:${ </u-row>
goodsInfo.buyBtnStyle == 2 || goodsInfo.buyBtnStyle == 4
? goodsInfo.buttonColor
: '#FFF'
}`"
:plain="
goodsInfo.buyBtnStyle == 2 || goodsInfo.buyBtnStyle == 4
"
:shape="
goodsInfo.buyBtnStyle == 3 || goodsInfo.buyBtnStyle == 4
? 'circle'
: 'square'
"
v-else
>{{ goodsInfo.buyBtnText }}</u-button
>
</view>
</view>
</view>
</view>
</u-col>
</u-row>
</view>
</template>
<good-sku v-if="showSku" borderRadius="20" v-model="showSku" :good="sku" :option-type="2"></good-sku>
<auth v-if="showAuth" @changeuserinfo="reloadUserinfo" @gbAuth="gbAuth"></auth>
</view>
</template>
<script> <script>
import goodSku from '../goods/goodsku';
import auth from '@/components/auth/index.vue';
export default { export default {
props: ["goodList", "goodsInfo"], components: {
data() { goodSku,
return { auth
mainColor: "", },
activeKey: 0, props: ['goodList', 'goodsInfo'],
}; data() {
}, return {
created() { mainColor: '',
this.mainColor = this.$uiConfig.mainColor; activeKey: 0,
}, showSku: false,
methods: { sku: {},
openGood(item) { showAuth: false,
uni.navigateTo({ url: '/pages/goods/goods?GoodsId='+item.id}); u: {}
}, };
}, },
created() {
this.mainColor = this.$uiConfig.mainColor;
},
methods: {
openGood(item) {
uni.navigateTo({ url: '/pages/goods/goods?GoodsId=' + item.id });
},
showSkuHandler(g) {
this.sku = g;
this.u = uni.getStorageSync('mall_UserInfo');
if (!this.u) {
this.u = {
nickName: '未登录',
avatarUrl: ''
};
this.showAuth = true;
} else {
this.showSku = true;
}
},
reloadUserinfo() {
this.u = uni.getStorageSync('mall_UserInfo');
this.showAuth = false;
},
//关闭登录窗口
gbAuth() {
this.showAuth = false;
}
}
}; };
</script> </script>
<style> <style>
.good-two { .good-two {
position: relative; position: relative;
margin-bottom: 12px; margin-bottom: 12px;
border: 1rpx solid transparent; border: 1rpx solid transparent;
border-radius: 10rpx; border-radius: 10rpx;
overflow: hidden; overflow: hidden;
padding-bottom: 10rpx; padding-bottom: 10rpx;
} }
.good-two .tips { .good-two .tips {
width: 64rpx; width: 64rpx;
height: 64rpx; height: 64rpx;
position: absolute; position: absolute;
top: 0; top: 0;
left: 0; left: 0;
z-index: 4; z-index: 4;
} }
.good-two .img-box { .good-two .img-box {
width: 100%; width: 100%;
height: 0; height: 0;
padding-top: 100%; padding-top: 100%;
position: relative; position: relative;
} }
.good-two .img-box .img-show { .good-two .img-box .img-show {
position: absolute; position: absolute;
left: 0; left: 0;
top: 0; top: 0;
bottom: 0; bottom: 0;
right: 0; right: 0;
width: 100%; width: 100%;
height: 100%; height: 100%;
overflow: hidden; overflow: hidden;
} }
.good-two .guding { .good-two .guding {
position: relative; position: relative;
} }
.good-two .guding .img-box { .good-two .guding .img-box {
position: absolute; position: absolute;
left: 0; left: 0;
right: 0; right: 0;
bottom: 0; bottom: 0;
top: 0; top: 0;
} }
.good-two .good-info { .good-two .good-info {
padding: 6rpx; padding: 6rpx;
margin-top: -5px; margin-top: -5px;
padding-bottom: 0; padding-bottom: 0;
} }
.good-two .good-info .good-name { .good-two .good-info .good-name {
overflow: hidden; overflow: hidden;
text-overflow: ellipsis; text-overflow: ellipsis;
display: -webkit-box; display: -webkit-box;
-webkit-line-clamp: 2; -webkit-line-clamp: 2;
-webkit-box-orient: vertical; -webkit-box-orient: vertical;
margin: 3px 0; margin: 3px 0;
font-size: 13px; font-size: 13px;
min-height:35px; min-height: 35px;
} }
.good-two .good-info .good-price-info { .good-two .good-info .good-price-info {
display: flex; display: flex;
} }
.good-two .good-info .good-price-info .price { .good-two .good-info .good-price-info .price {
color: #ff4544; color: #ff4544;
flex: 1; flex: 1;
font-size: 14px; font-size: 14px;
} }
.good-two .good-info .good-price-info .buy { .good-two .good-info .good-price-info .buy {
width: 24px; width: 24px;
text-align: right; text-align: right;
} }
</style> </style>
<template> <template>
<div <div
style="padding: 12px; padding-bottom: 0;" style="padding: 12px; padding-bottom: 0;"
:style="{ :style="{
'background-color': goodsInfo.backgroundColor, 'background-color': goodsInfo.backgroundColor,
'background-image': goodsInfo.backgroundPicUrl, 'background-image': goodsInfo.backgroundPicUrl,
'border-color': goodsInfo.goodsStyle == 2 ? 'rgb(226, 226, 226)' : '', 'border-color': goodsInfo.goodsStyle == 2 ? 'rgb(226, 226, 226)' : ''
}" }"
> >
<u-row gutter="24"> <u-row gutter="24">
<u-col <u-col span="4" v-for="(item, gli) in goodList" :key="gli">
span="4" <div
v-for="(item, gli) in goodList" class="good-three"
:key="gli" @click="openGood(item)"
> :style="{
<div class="good-three" @click="openGood(item)" :style="{ border: goodsInfo.goodsStyle == 2 ? '1px solid rgb(226, 226, 226)' : '',
border: background: goodsInfo.goodsStyle == 1 || goodsInfo.goodsStyle == 2 ? '#FFF' : ''
goodsInfo.goodsStyle == 2 ? '1px solid rgb(226, 226, 226)' : '', }"
background: >
goodsInfo.goodsStyle == 1 || goodsInfo.goodsStyle == 2 <div class="tips" v-if="goodsInfo.showGoodsTag"><image :src="goodsInfo.goodsTagPicUrl" mode="widthFix" style="width:100%" /></div>
? '#FFF' <div class="img-box">
: '', <div class="img-show">
}"> <image
<div class="tips" v-if="goodsInfo.showGoodsTag"> style="
<image :src="goodsInfo.goodsTagPicUrl" mode="widthFix" style="width:100%" />
</div>
<div class="img-box">
<div class="img-show">
<image
style="
width: 100%; width: 100%;
height: 100%; height: 100%;
border-radius: 10rpx 10rpx 0 0; border-radius: 10rpx 10rpx 0 0;
" "
:mode="goodsInfo.fill == 1 ? 'aspectFill' : 'aspectFit'" :mode="goodsInfo.fill == 1 ? 'aspectFill' : 'aspectFit'"
:src="item.picUrl" :src="item.picUrl"
/> />
</div> </div>
</div> </div>
<div class="good-info"> <div class="good-info">
<div class="good-name" v-if="goodsInfo.showGoodsName"> <div class="good-name" v-if="goodsInfo.showGoodsName">{{ item.name }}</div>
{{ item.name }} <div class="good-price-info">
</div> <view class="price" :style="{ color: mainColor }">{{ goodsInfo.showGoodsPrice ? getPrice(item.price) : '' }}</view>
<div class="good-price-info"> <view class="buy" v-if="goodsInfo.showBuyBtn" @click.stop="showSkuHandler(item)">
<view class="price" :style="{'color':mainColor}">{{ <u-icon name="cart-o" size="40" :color="mainColor" v-if="goodsInfo.buyBtn == 'cart'" />
goodsInfo.showGoodsPrice ? getPrice(item.price) : "" <u-icon name="add-o" size="40" :color="mainColor" v-else-if="goodsInfo.buyBtn == 'add'" />
}}</view> <u-button
<view class="buy" v-if="goodsInfo.showBuyBtn" @click.stop="showSkuHandler(item)"> type="primary"
<u-icon size="mini"
name="cart-o" :ripple="true"
size="40" :color="goodsInfo.buttonColor"
:color="mainColor" :custom-style="
v-if="goodsInfo.buyBtn == 'cart'" `backgroundColor:${goodsInfo.buttonColor},color:${
/> goodsInfo.buyBtnStyle == 2 || goodsInfo.buyBtnStyle == 4 ? goodsInfo.buttonColor : '#FFF'
<u-icon }`
name="add-o" "
size="40" :plain="goodsInfo.buyBtnStyle == 2 || goodsInfo.buyBtnStyle == 4"
:color="mainColor" :shape="goodsInfo.buyBtnStyle == 3 || goodsInfo.buyBtnStyle == 4 ? 'circle' : 'square'"
v-else-if="goodsInfo.buyBtn == 'add'" v-else
/> >
<u-button {{ goodsInfo.buyBtnText }}
type="primary" </u-button>
size="mini" </view>
:ripple="true" </div>
:color="goodsInfo.buttonColor" </div>
:custom-style="`backgroundColor:${ </div>
goodsInfo.buttonColor </u-col>
},color:${ </u-row>
goodsInfo.buyBtnStyle == 2 || goodsInfo.buyBtnStyle == 4 <good-sku v-if="showSku" borderRadius="20" v-model="showSku" :good="sku" :option-type="2"></good-sku>
? goodsInfo.buttonColor <auth v-if="showAuth" @changeuserinfo="reloadUserinfo" @gbAuth="gbAuth"></auth>
: '#FFF' </div>
}`"
:plain="
goodsInfo.buyBtnStyle == 2 || goodsInfo.buyBtnStyle == 4
"
:shape="
goodsInfo.buyBtnStyle == 3 || goodsInfo.buyBtnStyle == 4
? 'circle'
: 'square'
"
v-else
>{{ goodsInfo.buyBtnText }}</u-button
>
</view>
</div>
</div>
</div>
</u-col>
</u-row>
<good-sku v-if="showSku" borderRadius="20" v-model="showSku" :good="sku" :option-type="2"></good-sku>
</div>
</template> </template>
<script> <script>
import goodSku from '../goods/goodsku' import goodSku from '../goods/goodsku';
import auth from '@/components/auth/index.vue';
export default { export default {
components:{ components: {
goodSku goodSku,
}, auth
props: ["goodList", "goodsInfo"], },
data() { props: ['goodList', 'goodsInfo'],
return { data() {
mainColor: "", return {
activeKey: 0, mainColor: '',
showSku:false, activeKey: 0,
sku:{} showSku: false,
}; sku: {},
}, showAuth: false,
created() { u: {}
this.mainColor = this.$uiConfig.mainColor; };
}, },
methods: { created() {
openGood(item) { this.mainColor = this.$uiConfig.mainColor;
uni.navigateTo({ url: '/pages/goods/goods?GoodsId='+item.id}); },
}, methods: {
showSkuHandler(g){ openGood(item) {
this.sku=g uni.navigateTo({ url: '/pages/goods/goods?GoodsId=' + item.id });
this.showSku=true },
} showSkuHandler(g) {
}, this.sku = g;
this.u = uni.getStorageSync('mall_UserInfo');
if (!this.u) {
this.u = {
nickName: '未登录',
avatarUrl: ''
};
this.showAuth = true;
} else {
this.showSku = true;
}
},
reloadUserinfo() {
this.u = uni.getStorageSync('mall_UserInfo');
this.showAuth = false;
},
//关闭登录窗口
gbAuth() {
this.showAuth = false;
}
}
}; };
</script> </script>
<style> <style>
.good-three { .good-three {
position: relative; position: relative;
margin-bottom: 12px; margin-bottom: 12px;
border: 1rpx solid transparent; border: 1rpx solid transparent;
border-radius: 10rpx; border-radius: 10rpx;
overflow: hidden; overflow: hidden;
padding-bottom: 5px; padding-bottom: 5px;
} }
.good-three .tips { .good-three .tips {
width: 64rpx; width: 64rpx;
height: 64rpx; height: 64rpx;
position: absolute; position: absolute;
top: 0; top: 0;
left: 0; left: 0;
z-index: 4; z-index: 4;
} }
.good-three .img-box { .good-three .img-box {
width: 100%; width: 100%;
height: 0; height: 0;
padding-top: 100%; padding-top: 100%;
position: relative; position: relative;
} }
.good-three .img-box .img-show { .good-three .img-box .img-show {
position: absolute; position: absolute;
left: 0; left: 0;
top: 0; top: 0;
bottom: 0; bottom: 0;
right: 0; right: 0;
width: 100%; width: 100%;
height: 100%; height: 100%;
overflow: hidden; overflow: hidden;
} }
.good-three .guding { .good-three .guding {
position: relative; position: relative;
} }
.good-three .guding .img-box { .good-three .guding .img-box {
position: absolute; position: absolute;
left: 0; left: 0;
right: 0; right: 0;
bottom: 0; bottom: 0;
top: 0; top: 0;
} }
.good-three .good-info { .good-three .good-info {
padding: 6rpx; padding: 6rpx;
margin-top: -5px; margin-top: -5px;
padding-bottom: 0; padding-bottom: 0;
} }
.good-three .good-info .good-name { .good-three .good-info .good-name {
overflow: hidden; overflow: hidden;
text-overflow: ellipsis; text-overflow: ellipsis;
display: -webkit-box; display: -webkit-box;
-webkit-line-clamp: 2; -webkit-line-clamp: 2;
-webkit-box-orient: vertical; -webkit-box-orient: vertical;
margin: 3px 0; margin: 3px 0;
font-size: 13px; font-size: 13px;
word-break:break-all; word-break: break-all;
min-height:34px; min-height: 34px;
} }
.good-three .good-info .good-price-info { .good-three .good-info .good-price-info {
display: flex; display: flex;
justify-items: center; justify-items: center;
align-items: center; align-items: center;
} }
.good-three .good-info .good-price-info .price { .good-three .good-info .good-price-info .price {
color: #ff4544; color: #ff4544;
flex: 1; flex: 1;
font-size: 14px; font-size: 14px;
white-space: nowrap; white-space: nowrap;
text-overflow: ellipsis; text-overflow: ellipsis;
overflow: hidden; overflow: hidden;
} }
.good-three .good-info .good-price-info .buy { .good-three .good-info .good-price-info .buy {
width: 24px; width: 24px;
text-align: right; text-align: right;
} }
</style> </style>
<template> <template>
<view <view
style="padding: 12px; padding-bottom: 0;width:100%;min-height:450rpx;" style="padding: 12px; padding-bottom: 0;width:100%;min-height:450rpx;"
:style="{ :style="{
'background-color': goodsInfo.backgroundColor, 'background-color': goodsInfo.backgroundColor,
'background-image': goodsInfo.backgroundPicUrl, 'background-image': goodsInfo.backgroundPicUrl,
'border-color': goodsInfo.goodsStyle == 2 ? 'rgb(226, 226, 226)' : '', 'border-color': goodsInfo.goodsStyle == 2 ? 'rgb(226, 226, 226)' : ''
}" }"
> >
<view <view
class="good-four" class="good-four"
v-for="(item, gli) in goodList" v-for="(item, gli) in goodList"
:key="gli" :key="gli"
@click="openGood(item)" @click="openGood(item)"
:style="{ :style="{
border: goodsInfo.goodsStyle == 2 ? '1px solid rgb(226, 226, 226)' : '', border: goodsInfo.goodsStyle == 2 ? '1px solid rgb(226, 226, 226)' : '',
background: background: goodsInfo.goodsStyle == 1 || goodsInfo.goodsStyle == 2 ? '#FFF' : ''
goodsInfo.goodsStyle == 1 || goodsInfo.goodsStyle == 2 ? '#FFF' : '', }"
}" >
> <view class="tips" v-if="goodsInfo.showGoodsTag"><image :src="goodsInfo.goodsTagPicUrl" mode="widthFix" style="width: 100%;" /></view>
<view class="tips" v-if="goodsInfo.showGoodsTag"> <view class="img-box"><image style="width: 100%; height: 100%;" :mode="goodsInfo.fill == 1 ? 'aspectFill' : 'aspectFit'" :src="item.picUrl" /></view>
<image <view class="good-info">
:src="goodsInfo.goodsTagPicUrl" <view class="good-name" v-if="goodsInfo.showGoodsName">{{ item.name }}</view>
mode="widthFix" <view class="good-price-info">
style="width: 100%;" <view class="price" :style="{ color: mainColor }">{{ goodsInfo.showGoodsPrice ? getPrice(item.price) : '' }}</view>
/> <view class="buy" v-if="goodsInfo.showBuyBtn" @click.stop="showSkuHandler(item)">
</view> <u-icon name="cart-o" size="40" :color="mainColor" v-if="goodsInfo.buyBtn == 'cart'" />
<view class="img-box"> <u-icon name="add-o" size="40" :color="mainColor" v-else-if="goodsInfo.buyBtn == 'add'" />
<image <u-button
style="width: 100%; height: 100%;" type="primary"
:mode="goodsInfo.fill == 1 ? 'aspectFill' : 'aspectFit'" size="mini"
:src="item.picUrl" :ripple="true"
/> :color="goodsInfo.buttonColor"
</view> :custom-style="
<view class="good-info"> `backgroundColor:${goodsInfo.buttonColor},color:${goodsInfo.buyBtnStyle == 2 || goodsInfo.buyBtnStyle == 4 ? goodsInfo.buttonColor : '#FFF'}`
<view class="good-name" v-if="goodsInfo.showGoodsName">{{ "
item.name :plain="goodsInfo.buyBtnStyle == 2 || goodsInfo.buyBtnStyle == 4"
}}</view> :shape="goodsInfo.buyBtnStyle == 3 || goodsInfo.buyBtnStyle == 4 ? 'circle' : 'square'"
<view class="good-price-info"> v-else
<view class="price" :style="{'color':mainColor}">{{ >
goodsInfo.showGoodsPrice ? getPrice(item.price) : "" {{ goodsInfo.buyBtnText }}
}}</view> </u-button>
<view class="buy" v-if="goodsInfo.showBuyBtn" @click.stop="showSkuHandler(item)"> </view>
<u-icon </view>
name="cart-o" </view>
size="40" </view>
:color="mainColor" <good-sku v-if="showSku" :option-type="2" borderRadius="20" v-model="showSku" :good="sku"></good-sku>
v-if="goodsInfo.buyBtn == 'cart'" <auth v-if="showAuth" @changeuserinfo="reloadUserinfo" @gbAuth="gbAuth"></auth>
/> </view>
<u-icon
name="add-o"
size="40"
:color="mainColor"
v-else-if="goodsInfo.buyBtn == 'add'"
/>
<u-button
type="primary"
size="mini"
:ripple="true"
:color="goodsInfo.buttonColor"
:custom-style="`backgroundColor:${goodsInfo.buttonColor},color:${
goodsInfo.buyBtnStyle == 2 || goodsInfo.buyBtnStyle == 4
? goodsInfo.buttonColor
: '#FFF'
}`"
:plain="goodsInfo.buyBtnStyle == 2 || goodsInfo.buyBtnStyle == 4"
:shape="
goodsInfo.buyBtnStyle == 3 || goodsInfo.buyBtnStyle == 4
? 'circle'
: 'square'
"
v-else
>{{ goodsInfo.buyBtnText }}</u-button
>
</view>
</view>
</view>
</view>
<good-sku v-if="showSku" :option-type="2" borderRadius="20" v-model="showSku" :good="sku"></good-sku>
</view>
</template> </template>
<script> <script>
import goodSku from '../goods/goodsku' import goodSku from '../goods/goodsku';
import auth from '@/components/auth/index.vue';
export default { export default {
components:{ components: {
goodSku goodSku,
}, auth
props: ["goodList", "goodsInfo"], },
data() { props: ['goodList', 'goodsInfo'],
return { data() {
mainColor: "", return {
activeKey: 0, mainColor: '',
showSku:false, activeKey: 0,
sku:{} showSku: false,
}; sku: {},
}, showAuth: false,
created() { u: {}
this.mainColor = this.$uiConfig.mainColor; };
}, },
methods: { created() {
openGood(item) { this.mainColor = this.$uiConfig.mainColor;
uni.navigateTo({ url: '/pages/goods/goods?GoodsId='+item.id}); },
}, methods: {
showSkuHandler(g){ openGood(item) {
this.sku=g uni.navigateTo({ url: '/pages/goods/goods?GoodsId=' + item.id });
this.showSku=true },
}, showSkuHandler(g) {
//格式化价格添加.00 this.sku = g;
// getPrice(value){ this.u = uni.getStorageSync('mall_UserInfo');
// var html,_val; if (!this.u) {
// value =Number(value).toFixed(2); this.u = {
// if(value==0){ nickName: '未登录',
// value=0; avatarUrl: ''
// return html = "¥0"; };
// }else if(value.split('.')[1].substring(1)==0){ this.showAuth = true;
// value = Number(value).toFixed(2); } else {
// } this.showSku = true;
// _val = value.split('.'); }
// return html = '¥'+_val[0]+'.'+_val[1]; },
// } reloadUserinfo() {
}, this.u = uni.getStorageSync('mall_UserInfo');
this.showAuth = false;
},
//关闭登录窗口
gbAuth() {
this.showAuth = false;
}
//格式化价格添加.00
// getPrice(value){
// var html,_val;
// value =Number(value).toFixed(2);
// if(value==0){
// value=0;
// return html = "¥0";
// }else if(value.split('.')[1].substring(1)==0){
// value = Number(value).toFixed(2);
// }
// _val = value.split('.');
// return html = '¥'+_val[0]+'.'+_val[1];
// }
}
}; };
</script> </script>
<style> <style>
.good-four { .good-four {
position: relative; position: relative;
margin-bottom: 14px; margin-bottom: 14px;
display: flex; display: flex;
height: 102px; height: 102px;
border: 1rpx solid transparent; border: 1rpx solid transparent;
border-radius: 10rpx; border-radius: 10rpx;
box-sizing: border-box; box-sizing: border-box;
padding: 0 1px 1px 0; padding: 0 1px 1px 0;
overflow: hidden; overflow: hidden;
} }
.good-four .tips { .good-four .tips {
width: 64rpx; width: 64rpx;
height: 64rpx; height: 64rpx;
position: absolute; position: absolute;
top: 0; top: 0;
left: 0; left: 0;
z-index: 4; z-index: 4;
} }
.good-four .img-box { .good-four .img-box {
width: 100px; width: 100px;
height: 100px; height: 100px;
} }
.good-four .good-info { .good-four .good-info {
padding: 12px; padding: 12px;
flex: 1; flex: 1;
width: 1rpx; width: 1rpx;
border: 10rpx; border: 10rpx;
padding-bottom: 0; padding-bottom: 0;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
/* width:20%; */ /* width:20%; */
} }
.good-four .good-info .good-name { .good-four .good-info .good-name {
font-size: 13px; font-size: 13px;
height: 34px; height: 34px;
overflow: hidden; overflow: hidden;
text-overflow: ellipsis; text-overflow: ellipsis;
display: -webkit-box; display: -webkit-box;
-webkit-line-clamp: 2; -webkit-line-clamp: 2;
-webkit-box-orient: vertical; -webkit-box-orient: vertical;
} }
.good-four .good-info .good-price-info { .good-four .good-info .good-price-info {
display: flex; display: flex;
justify-items: center; justify-items: center;
align-items: flex-end; align-items: flex-end;
height: 22px; height: 22px;
flex: 1; flex: 1;
padding-bottom: 10rpx; padding-bottom: 10rpx;
} }
.good-four .good-info .good-price-info .price { .good-four .good-info .good-price-info .price {
color: #ff4544; color: #ff4544;
flex: 1; flex: 1;
font-size: 14px; font-size: 14px;
white-space: nowrap; white-space: nowrap;
text-overflow: ellipsis; text-overflow: ellipsis;
overflow: hidden; overflow: hidden;
} }
.good-four .good-info .good-price-info .buy { .good-four .good-info .good-price-info .buy {
width: 24px; width: 24px;
text-align: right; text-align: right;
} }
</style> </style>
<template> <template>
<view <view
class="her-scoller" class="her-scoller"
:style="{ :style="{
'background-color': goodsInfo.backgroundColor, 'background-color': goodsInfo.backgroundColor,
'background-image': goodsInfo.backgroundPicUrl, 'background-image': goodsInfo.backgroundPicUrl,
'border-color': goodsInfo.goodsStyle == 2 ? 'rgb(226, 226, 226)' : '', 'border-color': goodsInfo.goodsStyle == 2 ? 'rgb(226, 226, 226)' : ''
}" }"
> >
<view <view
class="good-five" class="good-five"
@click="openGood(item)" @click="openGood(item)"
v-for="(item, gli) in goodList" v-for="(item, gli) in goodList"
:key="gli" :key="gli"
:style="{ :style="{
'border': goodsInfo.goodsStyle == 2 ? '1px solid rgb(226, 226, 226)' : '', border: goodsInfo.goodsStyle == 2 ? '1px solid rgb(226, 226, 226)' : '',
background: background: goodsInfo.goodsStyle == 1 || goodsInfo.goodsStyle == 2 ? '#FFF' : ''
goodsInfo.goodsStyle == 1 || goodsInfo.goodsStyle == 2 }"
? '#FFF' >
: '', <view class="tips" v-if="goodsInfo.showGoodsTag"><image :src="goodsInfo.goodsTagPicUrl" mode="widthFix" style="width:100%" /></view>
}" <view class="img-box">
> <view class="img-show">
<view class="tips" v-if="goodsInfo.showGoodsTag"> <image style="width: 100%; height: 100%; border-radius: 10rpx 10rpx 0 0;" :mode="goodsInfo.fill == 1 ? 'aspectFill' : 'aspectFit'" :src="item.picUrl" />
<image :src="goodsInfo.goodsTagPicUrl" mode="widthFix" style="width:100%" /> </view>
</view> </view>
<view class="img-box"> <view class="good-info">
<view class="img-show"> <view class="good-name" v-if="goodsInfo.showGoodsName">{{ item.name }}</view>
<image <view class="good-price-info">
style="width: 100%; height: 100%; border-radius: 10rpx 10rpx 0 0;" <view class="price" :style="{ color: mainColor }">{{ goodsInfo.showGoodsPrice ? getPrice(item.price) : '' }}</view>
:mode="goodsInfo.fill == 1 ? 'aspectFill' : 'aspectFit'" <view class="buy" v-if="goodsInfo.showBuyBtn" @click.stop="showSkuHandler(item)">
:src="item.picUrl" <u-icon name="cart-o" size="40" :color="mainColor" v-if="goodsInfo.buyBtn == 'cart'" />
/> <u-icon name="add-o" size="40" :color="mainColor" v-else-if="goodsInfo.buyBtn == 'add'" />
</view> <u-button
</view> type="primary"
<view size="mini"
class="good-info" :ripple="true"
> :color="goodsInfo.buttonColor"
<view class="good-name" v-if="goodsInfo.showGoodsName"> :custom-style="
{{ item.name }} `backgroundColor:${goodsInfo.buttonColor},color:${goodsInfo.buyBtnStyle == 2 || goodsInfo.buyBtnStyle == 4 ? goodsInfo.buttonColor : '#FFF'}`
</view> "
<view class="good-price-info"> :plain="goodsInfo.buyBtnStyle == 2 || goodsInfo.buyBtnStyle == 4"
<view class="price" :style="{'color':mainColor}">{{ :shape="goodsInfo.buyBtnStyle == 3 || goodsInfo.buyBtnStyle == 4 ? 'circle' : 'square'"
goodsInfo.showGoodsPrice ? getPrice(item.price) : "" v-else
}}</view> >
<view class="buy" v-if="goodsInfo.showBuyBtn" @click.stop="showSkuHandler(item)"> {{ goodsInfo.buyBtnText }}
<u-icon </u-button>
name="cart-o" </view>
size="40" </view>
:color="mainColor" </view>
v-if="goodsInfo.buyBtn == 'cart'" </view>
/> <good-sku v-if="showSku" :option-type="2" borderRadius="20" v-model="showSku" :good="sku"></good-sku>
<u-icon <auth v-if="showAuth" @changeuserinfo="reloadUserinfo" @gbAuth="gbAuth"></auth>
name="add-o" </view>
size="40"
:color="mainColor"
v-else-if="goodsInfo.buyBtn == 'add'"
/>
<u-button
type="primary"
size="mini"
:ripple="true"
:color="goodsInfo.buttonColor"
:custom-style="`backgroundColor:${goodsInfo.buttonColor},color:${
goodsInfo.buyBtnStyle == 2 || goodsInfo.buyBtnStyle == 4
? goodsInfo.buttonColor
: '#FFF'
}`"
:plain="goodsInfo.buyBtnStyle == 2 || goodsInfo.buyBtnStyle == 4"
:shape="
goodsInfo.buyBtnStyle == 3 || goodsInfo.buyBtnStyle == 4
? 'circle'
: 'square'
"
v-else
>{{ goodsInfo.buyBtnText }}</u-button
>
</view>
</view>
</view>
</view>
<good-sku v-if="showSku" :option-type="2" borderRadius="20" v-model="showSku" :good="sku"></good-sku>
</view>
</template> </template>
<script> <script>
import goodSku from '../goods/goodsku' import goodSku from '../goods/goodsku';
import auth from '@/components/auth/index.vue';
export default { export default {
components:{ components: {
goodSku goodSku,
}, auth
props: ["goodList", "goodsInfo"],
data() {
return {
mainColor: "",
activeKey: 0,
showSku:false,
sku:{}
};
},
created() {
this.mainColor = this.$uiConfig.mainColor;
},
methods: {
openGood(item) {
uni.navigateTo({ url: '/pages/goods/goods?GoodsId='+item.id});
},
showSkuHandler(g){
this.sku=g
this.showSku=true
}, },
}, props: ['goodList', 'goodsInfo'],
data() {
return {
mainColor: '',
activeKey: 0,
showSku: false,
sku: {},
showAuth: false,
u: {}
};
},
created() {
this.mainColor = this.$uiConfig.mainColor;
},
methods: {
openGood(item) {
uni.navigateTo({ url: '/pages/goods/goods?GoodsId=' + item.id });
},
showSkuHandler(g) {
this.sku = g;
this.u = uni.getStorageSync('mall_UserInfo');
if (!this.u) {
this.u = {
nickName: '未登录',
avatarUrl: ''
};
this.showAuth = true;
} else {
this.showSku = true;
}
},
reloadUserinfo() {
this.u = uni.getStorageSync('mall_UserInfo');
this.showAuth = false;
},
//关闭登录窗口
gbAuth() {
this.showAuth = false;
}
}
}; };
</script> </script>
<style> <style>
.her-scoller { .her-scoller {
overflow-x: auto !important; overflow-x: auto !important;
padding: 12px; padding: 12px;
display: flex; display: flex;
white-space: nowrap; white-space: nowrap;
} }
/* .her-scoller::after { /* .her-scoller::after {
clear: both; clear: both;
...@@ -124,78 +116,78 @@ export default { ...@@ -124,78 +116,78 @@ export default {
display: block; display: block;
} */ } */
.her-scoller .good-five { .her-scoller .good-five {
position: relative; position: relative;
margin-right: 12px; margin-right: 12px;
width: 30%; width: 30%;
border: 1rpx solid transparent; border: 1rpx solid transparent;
border-radius: 10rpx; border-radius: 10rpx;
padding-bottom: 10rpx; padding-bottom: 10rpx;
/* float: left; */ /* float: left; */
} }
.her-scoller .good-five .tips { .her-scoller .good-five .tips {
width: 64rpx; width: 64rpx;
height: 64rpx; height: 64rpx;
position: absolute; position: absolute;
top: 0; top: 0;
left: 0; left: 0;
z-index: 4; z-index: 4;
} }
.her-scoller .good-five .img-box { .her-scoller .good-five .img-box {
width: 100%; width: 100%;
height: 0; height: 0;
padding-top: 100%; padding-top: 100%;
position: relative; position: relative;
} }
.her-scoller .good-five .img-box .img-show { .her-scoller .good-five .img-box .img-show {
position: absolute; position: absolute;
left: 0; left: 0;
top: 0; top: 0;
bottom: 0; bottom: 0;
right: 0; right: 0;
width: 100%; width: 100%;
height: 100%; height: 100%;
overflow: hidden; overflow: hidden;
z-index: 2; z-index: 2;
} }
.her-scoller .good-five .guding { .her-scoller .good-five .guding {
position: relative; position: relative;
} }
.her-scoller .good-five .guding .img-box { .her-scoller .good-five .guding .img-box {
position: absolute; position: absolute;
left: 0; left: 0;
right: 0; right: 0;
bottom: 0; bottom: 0;
top: 0; top: 0;
} }
.her-scoller .good-five .good-info { .her-scoller .good-five .good-info {
padding: 6rpx; padding: 6rpx;
padding-bottom: 0; padding-bottom: 0;
} }
.her-scoller .good-five .good-info .good-name { .her-scoller .good-five .good-info .good-name {
overflow: hidden; overflow: hidden;
text-overflow: ellipsis; text-overflow: ellipsis;
display: block; display: block;
-webkit-line-clamp: 2; -webkit-line-clamp: 2;
-webkit-box-orient: vertical; -webkit-box-orient: vertical;
margin-bottom: 4rpx; margin-bottom: 4rpx;
font-size: 13px; font-size: 13px;
width: 100%; width: 100%;
} }
.her-scoller .good-five .good-info .good-price-info { .her-scoller .good-five .good-info .good-price-info {
display: flex; display: flex;
justify-items: center; justify-items: center;
align-items: center; align-items: center;
} }
.her-scoller .good-five .good-info .good-price-info .price { .her-scoller .good-five .good-info .good-price-info .price {
color: #ff4544; color: #ff4544;
flex: 1; flex: 1;
font-size: 14px; font-size: 14px;
white-space: nowrap; white-space: nowrap;
text-overflow: ellipsis; text-overflow: ellipsis;
overflow: hidden; overflow: hidden;
} }
.her-scoller .good-five .good-info .good-price-info .buy { .her-scoller .good-five .good-info .good-price-info .buy {
width: 24px; width: 24px;
text-align: right; text-align: right;
} }
</style> </style>
<template> <template>
<view <view
style="padding: 12px; padding-bottom: 0;width:100%;" style="padding: 12px; padding-bottom: 0;width:100%;"
:style="{ :style="{
'background-color': goodsInfo.backgroundColor, 'background-color': goodsInfo.backgroundColor,
'background-image': goodsInfo.backgroundPicUrl, 'background-image': goodsInfo.backgroundPicUrl,
'border-color': goodsInfo.goodsStyle == 2 ? 'rgb(226, 226, 226)' : '', 'border-color': goodsInfo.goodsStyle == 2 ? 'rgb(226, 226, 226)' : ''
}" }"
> >
<view <view
class="good-four" class="good-four"
v-for="(item, gli) in goodList" v-for="(item, gli) in goodList"
:key="gli" :key="gli"
@click="openGood(item)" @click="openGood(item)"
:style="{ :style="{
border: goodsInfo.goodsStyle == 2 ? '1px solid rgb(226, 226, 226)' : '', border: goodsInfo.goodsStyle == 2 ? '1px solid rgb(226, 226, 226)' : '',
background: background: goodsInfo.goodsStyle == 1 || goodsInfo.goodsStyle == 2 ? '#FFF' : ''
goodsInfo.goodsStyle == 1 || goodsInfo.goodsStyle == 2 ? '#FFF' : '', }"
}" >
> <view class="tips" v-if="goodsInfo.showGoodsTag"><image :src="goodsInfo.goodsTagPicUrl" mode="widthFix" style="width: 100%;" /></view>
<view class="tips" v-if="goodsInfo.showGoodsTag"> <view class="img-box"><image style="width: 100%; height: 100%;" :mode="goodsInfo.fill == 1 ? 'aspectFill' : 'aspectFit'" :src="item.picUrl" /></view>
<image <view class="good-info">
:src="goodsInfo.goodsTagPicUrl" <view class="good-name" v-if="goodsInfo.showGoodsName">{{ item.name }}</view>
mode="widthFix" <view class="good-price-info">
style="width: 100%;" <view class="price" :style="{ color: mainColor }">{{ goodsInfo.showGoodsPrice ? getPrice(item.price) : '' }}</view>
/> <view class="buy" v-if="goodsInfo.showBuyBtn" @click.stop="showSkuHandler(item)">
</view> <u-icon name="cart-o" size="40" :color="mainColor" v-if="goodsInfo.buyBtn == 'cart'" />
<view class="img-box"> <u-icon name="add-o" size="40" :color="mainColor" v-else-if="goodsInfo.buyBtn == 'add'" />
<image <u-button
style="width: 100%; height: 100%;" type="primary"
:mode="goodsInfo.fill == 1 ? 'aspectFill' : 'aspectFit'" size="mini"
:src="item.picUrl" :ripple="true"
/> :color="goodsInfo.buttonColor"
</view> :custom-style="
<view class="good-info"> `backgroundColor:${goodsInfo.buttonColor},color:${goodsInfo.buyBtnStyle == 2 || goodsInfo.buyBtnStyle == 4 ? goodsInfo.buttonColor : '#FFF'}`
<view class="good-name" v-if="goodsInfo.showGoodsName">{{ "
item.name :plain="goodsInfo.buyBtnStyle == 2 || goodsInfo.buyBtnStyle == 4"
}}</view> :shape="goodsInfo.buyBtnStyle == 3 || goodsInfo.buyBtnStyle == 4 ? 'circle' : 'square'"
<view class="good-price-info"> v-else
<view class="price" :style="{'color':mainColor}">{{ >
goodsInfo.showGoodsPrice ? getPrice(item.price) : "" {{ goodsInfo.buyBtnText }}
}}</view> </u-button>
<view class="buy" v-if="goodsInfo.showBuyBtn"> </view>
<u-icon </view>
name="cart-o" </view>
size="40" </view>
:color="mainColor" <good-sku v-if="showSku" borderRadius="20" v-model="showSku" :good="sku" :option-type="2"></good-sku>
v-if="goodsInfo.buyBtn == 'cart'" <auth v-if="showAuth" @changeuserinfo="reloadUserinfo" @gbAuth="gbAuth"></auth>
/> </view>
<u-icon
name="add-o"
size="40"
:color="mainColor"
v-else-if="goodsInfo.buyBtn == 'add'"
/>
<u-button
type="primary"
size="mini"
:ripple="true"
:color="goodsInfo.buttonColor"
:custom-style="`backgroundColor:${goodsInfo.buttonColor},color:${
goodsInfo.buyBtnStyle == 2 || goodsInfo.buyBtnStyle == 4
? goodsInfo.buttonColor
: '#FFF'
}`"
:plain="goodsInfo.buyBtnStyle == 2 || goodsInfo.buyBtnStyle == 4"
:shape="
goodsInfo.buyBtnStyle == 3 || goodsInfo.buyBtnStyle == 4
? 'circle'
: 'square'
"
v-else
>{{ goodsInfo.buyBtnText }}</u-button
>
</view>
</view>
</view>
</view>
</view>
</template> </template>
<script> <script>
import goodSku from '../goods/goodsku';
import auth from '@/components/auth/index.vue';
export default { export default {
props: ["goodList", "goodsInfo"], components: {
data() { goodSku,
return { auth
mainColor: "", },
activeKey: 0, props: ['goodList', 'goodsInfo'],
}; data() {
}, return {
created() { mainColor: '',
this.mainColor = this.$uiConfig.mainColor; activeKey: 0,
}, showSku: false,
methods: { sku: {},
openGood(item) { showAuth: false,
uni.navigateTo({ url: '/pages/goods/goods?GoodsId='+item.id}); u: {}
}, };
}, },
created() {
this.mainColor = this.$uiConfig.mainColor;
},
methods: {
openGood(item) {
uni.navigateTo({ url: '/pages/goods/goods?GoodsId=' + item.id });
},
showSkuHandler(g) {
this.sku = g;
this.u = uni.getStorageSync('mall_UserInfo');
if (!this.u) {
this.u = {
nickName: '未登录',
avatarUrl: ''
};
this.showAuth = true;
} else {
this.showSku = true;
}
},
reloadUserinfo() {
this.u = uni.getStorageSync('mall_UserInfo');
this.showAuth = false;
},
//关闭登录窗口
gbAuth() {
this.showAuth = false;
}
}
}; };
</script> </script>
<style> <style>
.good-four { .good-four {
position: relative; position: relative;
margin-bottom: 14px; margin-bottom: 14px;
display: flex; display: flex;
height: 102px; height: 102px;
border: 1rpx solid transparent; border: 1rpx solid transparent;
border-radius: 10rpx; border-radius: 10rpx;
box-sizing: border-box; box-sizing: border-box;
padding: 0 1px 1px 0; padding: 0 1px 1px 0;
overflow: hidden; overflow: hidden;
} }
.good-four .tips { .good-four .tips {
width: 64rpx; width: 64rpx;
height: 64rpx; height: 64rpx;
position: absolute; position: absolute;
top: 0; top: 0;
left: 0; left: 0;
z-index: 4; z-index: 4;
} }
.good-four .img-box { .good-four .img-box {
width: 100px; width: 100px;
height: 100px; height: 100px;
} }
.good-four .good-info { .good-four .good-info {
padding: 12px; padding: 12px;
flex: 1; flex: 1;
width: 1rpx; width: 1rpx;
border: 10rpx; border: 10rpx;
padding-bottom: 0; padding-bottom: 0;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
/* width:20%; */ /* width:20%; */
} }
.good-four .good-info .good-name { .good-four .good-info .good-name {
font-size: 13px; font-size: 13px;
height: 34px; height: 34px;
overflow: hidden; overflow: hidden;
text-overflow: ellipsis; text-overflow: ellipsis;
display: -webkit-box; display: -webkit-box;
-webkit-line-clamp: 2; -webkit-line-clamp: 2;
-webkit-box-orient: vertical; -webkit-box-orient: vertical;
} }
.good-four .good-info .good-price-info { .good-four .good-info .good-price-info {
display: flex; display: flex;
justify-items: center; justify-items: center;
align-items: flex-end; align-items: flex-end;
height: 22px; height: 22px;
flex: 1; flex: 1;
padding-bottom: 10rpx; padding-bottom: 10rpx;
} }
.good-four .good-info .good-price-info .price { .good-four .good-info .good-price-info .price {
color: #ff4544; color: #ff4544;
flex: 1; flex: 1;
font-size: 14px; font-size: 14px;
white-space: nowrap; white-space: nowrap;
text-overflow: ellipsis; text-overflow: ellipsis;
overflow: hidden; overflow: hidden;
} }
.good-four .good-info .good-price-info .buy { .good-four .good-info .good-price-info .buy {
width: 24px; width: 24px;
text-align: right; text-align: right;
} }
</style> </style>
...@@ -28,8 +28,7 @@ export default { ...@@ -28,8 +28,7 @@ export default {
backgroundImage: x.backgroundImage, backgroundImage: x.backgroundImage,
backgroundRepeat: x.backgroundRepeat, backgroundRepeat: x.backgroundRepeat,
backgroundSize: x.backgroundSize, backgroundSize: x.backgroundSize,
backgroundPosition: x.backgroundPosition, backgroundPosition: x.backgroundPosition
border:'1px solid red'
}; };
if (this.ad.height == "auto") { if (this.ad.height == "auto") {
x.formatStyle.position = "unset"; x.formatStyle.position = "unset";
......
...@@ -66,7 +66,7 @@ export default { ...@@ -66,7 +66,7 @@ export default {
type: Boolean, type: Boolean,
default: true, default: true,
}, },
id: { goodId: {
type: Number, type: Number,
default: 0, default: 0,
}, },
...@@ -99,6 +99,7 @@ export default { ...@@ -99,6 +99,7 @@ export default {
this.downLoadImage(arr); this.downLoadImage(arr);
}, },
genernalHandler() { genernalHandler() {
//this.goodId
uni.navigateTo({ uni.navigateTo({
url: "/pages/goods/draw", url: "/pages/goods/draw",
}); });
......
...@@ -219,7 +219,7 @@ ...@@ -219,7 +219,7 @@
v-if="!isExsitGoods" v-if="!isExsitGoods"
></u-empty> ></u-empty>
<share <share
:id="id" :good-id="id"
v-if="showShare" v-if="showShare"
:good-name="g.name" :good-name="g.name"
:images="g.pic_url" :images="g.pic_url"
......
...@@ -98,6 +98,7 @@ export default { ...@@ -98,6 +98,7 @@ export default {
mainColor: "", mainColor: "",
active: 0, active: 0,
contentHeight: 0, contentHeight: 0,
pageId:0
}; };
}, },
components: { components: {
...@@ -120,7 +121,11 @@ export default { ...@@ -120,7 +121,11 @@ export default {
addialog, addialog,
quicknav quicknav
}, },
onLoad() { onLoad(options) {
console.log(options,'option');
if(options&&options.page_id){
this.pageId=options.page_id
}
let c = this.$uiConfig.is_bang ? 78 : 50; let c = this.$uiConfig.is_bang ? 78 : 50;
this.contentHeight = this.$utils.calcContentHeight(c); this.contentHeight = this.$utils.calcContentHeight(c);
this.init(); this.init();
...@@ -138,6 +143,7 @@ export default { ...@@ -138,6 +143,7 @@ export default {
{ {
url: '/api/Mall/GetHome', url: '/api/Mall/GetHome',
data: { data: {
page_id:this.pageId
}, },
}, },
(res) => { (res) => {
......
...@@ -106,11 +106,11 @@ ...@@ -106,11 +106,11 @@
<view class="reason">{{ d.remark }}</view> <view class="reason">{{ d.remark }}</view>
<view class="grid-reasion"> <view class="grid-reasion">
<image <image
v-for="(x, i) in d.pic_list" v-for="(x, i) in d.VoucherList"
:key="i" :key="i"
:src="x" :src="x"
class="img" class="img"
@click="previewImage(i, d.pic_list)" @click="previewImage(i, d.VoucherList)"
mode="aspectFill" mode="aspectFill"
/> />
</view> </view>
...@@ -118,16 +118,16 @@ ...@@ -118,16 +118,16 @@
<view style="margin-top: 40rpx;" class="block"> <view style="margin-top: 40rpx;" class="block">
<view class="filed center"> <view class="filed center">
<view class="key">服务单号</view> <view class="key">服务单号</view>
<view class="val" style="font-size: 24rpx;">{{ d.order_no }}</view> <view class="val" style="font-size: 24rpx;">{{ d.ReOrderNo }}</view>
<view class="op"> <view class="op">
<u-button size="mini" shape="circle" @click="paste(d.order_no)" <u-button size="mini" shape="circle" @click="paste(d.ReOrderNo)"
>复制</u-button >复制</u-button
> >
</view> </view>
</view> </view>
<view class="filed"> <view class="filed">
<view class="key">申请时间</view> <view class="key">申请时间</view>
<view class="val">{{ d.created_at }}</view> <view class="val">{{ d.CreateDate }}</view>
</view> </view>
<view class="filed split"> <view class="filed split">
<view class="key">服务类型</view> <view class="key">服务类型</view>
...@@ -166,7 +166,7 @@ ...@@ -166,7 +166,7 @@
<view class="key">快递公司</view> <view class="key">快递公司</view>
<view class="val" @click="showExpressHandler"> <view class="val" @click="showExpressHandler">
<text <text
v-if="forms.expressId == -1" v-if="forms.ExpressId == -1"
style="font-size: 13px; color: gray;" style="font-size: 13px; color: gray;"
>请选择快递公司</text >请选择快递公司</text
> >
...@@ -187,7 +187,7 @@ ...@@ -187,7 +187,7 @@
<view class="val"> <view class="val">
<input <input
type="text" type="text"
v-model="forms.expressNo" v-model="forms.ExpressNumber"
placeholder="请输入快递单号" placeholder="请输入快递单号"
/> />
</view> </view>
...@@ -284,8 +284,9 @@ export default { ...@@ -284,8 +284,9 @@ export default {
expressList: [], expressList: [],
showExpress: false, showExpress: false,
forms: { forms: {
expressId: -1, ReOrderId:-1,
expressNo: "", ExpressId: -1,
ExpressNumber: "",
expressName: "", expressName: "",
}, },
currentStatus: 0, currentStatus: 0,
...@@ -332,9 +333,9 @@ export default { ...@@ -332,9 +333,9 @@ export default {
tmplIds: that.d.template_message_list, tmplIds: that.d.template_message_list,
complete(res) { complete(res) {
let msg = ""; let msg = "";
if (that.forms.expressId == -1) { if (that.forms.ExpressId == -1) {
msg = "请选择快递公司"; msg = "请选择快递公司";
} else if (that.forms.expressNo == "") { } else if (that.forms.ExpressNumber == "") {
msg = "请输入快递单号"; msg = "请输入快递单号";
} }
if (msg == "") { if (msg == "") {
...@@ -349,7 +350,7 @@ export default { ...@@ -349,7 +350,7 @@ export default {
id: that.id, id: that.id,
express: that.forms.expressName, express: that.forms.expressName,
customer_name: "", customer_name: "",
express_no: that.forms.expressNo, express_no: that.forms.ExpressNumber,
}, },
method: "POST", method: "POST",
}, },
...@@ -386,7 +387,7 @@ export default { ...@@ -386,7 +387,7 @@ export default {
this.showExpress = true; this.showExpress = true;
}, },
chosenExpressHandler(i) { chosenExpressHandler(i) {
this.forms.expressId = this.expressList[i[0]].id; this.forms.ExpressId = this.expressList[i[0]].id;
this.forms.expressName = this.expressList[i[0]].name; this.forms.expressName = this.expressList[i[0]].name;
}, },
previewImage(i, images) { previewImage(i, images) {
...@@ -412,7 +413,7 @@ export default { ...@@ -412,7 +413,7 @@ export default {
}, },
init() { init() {
this.isover = false; this.isover = false;
let h = this.apiheader();
this.request2( this.request2(
{ {
url: '/api/AppletOrder/GetAppletOrderAfterSaleInfo', url: '/api/AppletOrder/GetAppletOrderAfterSaleInfo',
...@@ -422,10 +423,10 @@ export default { ...@@ -422,10 +423,10 @@ export default {
}, },
(res) => { (res) => {
this.d = res.data; this.d = res.data;
this.expressList = res.data.OrderInfo;
this.loading = false; this.loading = false;
this.currentStatus = this.d.ReOrderStatus - 1; this.currentStatus = this.d.ReOrderStatus - 1;
this.getExpressInfo()
// if (this.d.ReOrderStatusName == 1) { // if (this.d.ReOrderStatusName == 1) {
// this.currentStatus += 1; // this.currentStatus += 1;
// } else if (this.d.ReOrderStatusName == "待退款" || this.d.status_text == "已换货") { // } else if (this.d.ReOrderStatusName == "待退款" || this.d.status_text == "已换货") {
...@@ -436,6 +437,17 @@ export default { ...@@ -436,6 +437,17 @@ export default {
} }
); );
}, },
getExpressInfo(){
this.request2(
{
url: '/api/appletorder/GetExpressInfo',
data: {}
},
(res) => {
this.expressList = res.data;
}
);
}
}, },
}; };
</script> </script>
......
...@@ -3,18 +3,18 @@ ...@@ -3,18 +3,18 @@
<view class="status-box"> <view class="status-box">
<view class="item"> <view class="item">
<view class="name">快递公司:</view> <view class="name">快递公司:</view>
<view class="val">{{ expressInfo.ExpressName }}</view> <view class="val">{{ express }}</view>
</view> </view>
<view class="item"> <view class="item">
<view class="name">运单号:</view> <view class="name">运单号:</view>
<view class="val">{{ expressInfo.ExpressNumber }}</view> <view class="val">{{ express_no }}</view>
</view> </view>
<view class="item"> <!-- <view class="item">
<view class="name">运送状态:</view> <view class="name">运送状态:</view>
<view class="val" :style="{ color: mainColor }">{{ <view class="val" :style="{ color: mainColor }">{{
expressInfo.Remark d.status_text
}}</view> }}</view>
</view> </view> -->
</view> </view>
<view <view
...@@ -48,7 +48,7 @@ ...@@ -48,7 +48,7 @@
</view> </view>
</template> </template>
</u-time-line-item> </u-time-line-item>
<u-time-line-item nodeTop="2" v-if="d.status == 3"> <!-- <u-time-line-item nodeTop="2" v-if="d.status == 3">
<template v-slot:node> <template v-slot:node>
<view class="u-node" :style="{ background: mainColor }"> <view class="u-node" :style="{ background: mainColor }">
<u-icon name="success" color="#fff" :size="32"></u-icon> <u-icon name="success" color="#fff" :size="32"></u-icon>
...@@ -61,13 +61,15 @@ ...@@ -61,13 +61,15 @@
<view class="u-order-time">{{ last.datetime }}</view> <view class="u-order-time">{{ last.datetime }}</view>
</view> </view>
</template> </template>
</u-time-line-item> </u-time-line-item> -->
<u-time-line-item v-for="(x, i) in d.list" :key="i"> <u-time-line-item v-for="(x, i) in d" :key="i">
<!-- 此处没有自定义左边的内容,会默认显示一个点 --> <!-- 此处没有自定义左边的内容,会默认显示一个点 -->
<template v-slot:content> <template v-slot:content>
<view style="padding-bottom: 30rpx;" :style="{color:(i==0 && d.status!=3)?'#000 !important':'gray'}"> <view style="padding-bottom: 30rpx;" :style="{color:(i==0)?'#000 !important':'gray'}">
<view class="u-order-desc">{{ x.desc }}</view> <view class="u-order-desc">{{ x.AcceptStation }}</view>
<view class="u-order-time">{{ x.datetime }}</view> <view class="u-order-desc">{{ x.Remark }}</view>
<view class="u-order-time">{{ x.AcceptTime }}</view>
</view> </view>
</template> </template>
</u-time-line-item> </u-time-line-item>
...@@ -81,11 +83,11 @@ export default { ...@@ -81,11 +83,11 @@ export default {
data() { data() {
return { return {
mainColor: "", mainColor: "",
d: {}, d: [],
loading: false, loading: false,
OrderId:0,
last: {}, last: {},
expressInfo:{}, express:'',
express_no:'',
address:'', address:'',
}; };
}, },
...@@ -94,26 +96,50 @@ export default { ...@@ -94,26 +96,50 @@ export default {
title: "物流信息", title: "物流信息",
}); });
this.mainColor = this.$uiConfig.mainColor; this.mainColor = this.$uiConfig.mainColor;
this.OrderId = option.OrderId
// this.express = option.express || "圆通速递"; this.express = option.express || "圆通速递";
// this.express_no = option.no || "YT2042624009816"; this.express_no = option.no || "YT2042624009816";
this.address = option.address || "四川成都市高新西区万景峰二期"; this.address = option.address || "四川成都市高新西区万景峰二期";
this.init(); this.id = option.id || 0;
this.init(this.id,this.express_no);
}, },
methods: { methods: {
init() { init(id,express_no) {
// let h = this.apiheader();
this.request2( // this.request(
{ // {
url: '/api/AppletOrder/GetAppletMyOrderExpressInfo', // url: "",
data: { // header: h,
OrderId: this.OrderId // data: {
} // r: "api/order/express-detail",
}, // express: this.express,
(res) => { // express_no: this.express_no,
this.expressInfo = res.data // customer_name: "",
} // },
); // },
// (res) => {
// this.loading = false;
// this.d = res.data.express;
// this.d.list = this.d.list.reverse();
// if (this.d.status == 3) {
// this.last = this.d.list[0];
// this.d.list.splice(0, 1);
// }
// }
// );
this.request2(
{
url: "/api/AppletOrder/GetOrderExpressInfo",
data: {
ExpressId: id,
ExpressNumber: express_no,
},
},
(res) => {
this.d = res.data;
}
);
}, },
}, },
}; };
......
...@@ -74,32 +74,33 @@ ...@@ -74,32 +74,33 @@
<view class="good-price">{{ x.Final_Price }}</view> <view class="good-price">{{ x.Final_Price }}</view>
</view> </view>
</view> </view>
<template v-for="(e, ei) in orders.detailExpress"> <template v-for="(e, ei) in expressInfo">
<view :key="ei" class="order-info-item peisong"> <view :key="ei" class="order-info-item peisong">
<!-- <template v-for="(ec, eci) in e.expressRelation"> <template v-for="(ec, eci) in e.GoodsList">
<view <view
class="field" class="field"
:key="eci" :key="eci"
v-if="e.send_type == '2' && ec.order_detail_id == x.id" v-if="e.Type == '2' && ec.Id == x.DetailId"
> >
<view class="label">配送方式</view> <view class="label">配送方式</view>
<view class="content">{{ e.express_content }}</view> <view class="content">{{ e.Remark }}</view>
</view> </view>
<view <view
class="field" class="field"
:key="eci" :key="eci"
@click="goExpressHandler(e.express, e.express_no)" @click="goExpressHandler(e.ExpressName, e.ExpressNumber,e.ExpressId)"
v-if="e.send_type == '1' && ec.order_detail_id == x.id" v-if="e.Type == '1' && ec.Id == x.DetailId"
> >
<view class="label">配送方式</view> <view class="label">配送方式</view>
<view class="content" <view class="content"
>{{ e.express }} {{ e.express_no }}</view >{{ e.ExpressName }} {{ e.ExpressNumber }}</view
> >
<view style="margin-left: 10px;"> <view style="margin-left: 10px;">
<u-icon name="arrow" size="32" color="#000"></u-icon> <u-icon name="arrow" size="32" color="#000"></u-icon>
</view> </view>
</view> </view>
</template> --> </template>
</view> </view>
</template> </template>
<view <view
...@@ -220,16 +221,6 @@ ...@@ -220,16 +221,6 @@
>立即支付</u-button >立即支付</u-button
> >
</view> </view>
<view class="item" v-if="orders.OrderStatus == '3'||orders.OrderStatus == '4' ">
<u-button
shape="circle"
@click="goExpressHandler(orders)"
size="medium"
:custom-style="customStyle"
>查看物流</u-button
>
</view>
<view class="item" v-if="orders.OrderStatus == '3'"> <view class="item" v-if="orders.OrderStatus == '3'">
<u-button <u-button
shape="circle" shape="circle"
...@@ -363,6 +354,7 @@ export default { ...@@ -363,6 +354,7 @@ export default {
padding: "0 30rpx", padding: "0 30rpx",
color: "#FFF", color: "#FFF",
}, },
expressInfo:[],
Cancelmsg:{ Cancelmsg:{
OrderId:0, OrderId:0,
Type:1, Type:1,
...@@ -399,12 +391,19 @@ export default { ...@@ -399,12 +391,19 @@ export default {
shouhuoHandler() { shouhuoHandler() {
this.showReviceModal = true; this.showReviceModal = true;
}, },
goExpressHandler(orders) {
uni.navigateTo({ goExpressHandler(express, no,id) {
url: uni.navigateTo({
"/pages/order/express?OrderId="+ orders.OrderId+'&address='+orders.DistrictAddress+orders.ShoppingAddress url:
}); "/pages/order/express?express=" +
}, express +
"&no=" +
no +
"&address=" +
this.orders.DistrictAddress+this.orders.ShoppingAddress +
"&id=" +id,
});
},
submitReviceGoodHandler() { submitReviceGoodHandler() {
let that = this let that = this
uni.requestSubscribeMessage({ uni.requestSubscribeMessage({
...@@ -474,6 +473,7 @@ export default { ...@@ -474,6 +473,7 @@ export default {
this.loading = false; this.loading = false;
this.initRecommend(); this.initRecommend();
this.getexpressInfo(res.data.OrderId)
} }
); );
}, },
...@@ -500,6 +500,20 @@ export default { ...@@ -500,6 +500,20 @@ export default {
} }
); );
}, },
getexpressInfo(OrderId){
this.request2(
{
url: "/api/AppletOrder/GetAppletMyOrderExpressInfo",
data: {
OrderId: OrderId,
},
},
(res) => {
this.expressInfo = res.data;
}
);
},
redirectGoods(id) { redirectGoods(id) {
uni.navigateTo({ uni.navigateTo({
url: "/pages/goods/goods?id=" + id, url: "/pages/goods/goods?id=" + id,
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
<u-avatar :src="user_info.avatar" size="140" style="margin-left: 50rpx;"></u-avatar> <u-avatar :src="user_info.avatar" size="140" style="margin-left: 50rpx;"></u-avatar>
<view style="display: flex;flex-direction: column;justify-content: center;"> <view style="display: flex;flex-direction: column;justify-content: center;">
<Text style="color: #FFF;margin-left: 20rpx;font-size: 36rpx;" @click="login(user_info)">{{ user_info.nickname ? user_info.nickname : '立即登录' }}</Text> <Text style="color: #FFF;margin-left: 20rpx;font-size: 36rpx;" @click="login(user_info)">{{ user_info.nickname ? user_info.nickname : '立即登录' }}</Text>
<view class="member" @click="goUrl('/pages/member/index/index')"> <view class="member" @click="goUrl('/pages/member/index/index')" v-if='user_info.nickname'>
<image :src="meueData.user_center.top_pic_url" mode='aspectFill' style="width: 26px;height: 26px;border-radius: 13px;"></image> <image :src="meueData.user_center.top_pic_url" mode='aspectFill' style="width: 26px;height: 26px;border-radius: 13px;"></image>
<Text style='margin-right: 10px;'>{{user_info.identity.level_name!=null ?user_info.identity.level_name:'普通用户' }}</Text> <Text style='margin-right: 10px;'>{{user_info.identity.level_name!=null ?user_info.identity.level_name:'普通用户' }}</Text>
</view> </view>
...@@ -16,7 +16,7 @@ ...@@ -16,7 +16,7 @@
<view style="display: flex;flex-direction: column;align-items: center;" v-if="meueData.user_center.top_style == 2"> <view style="display: flex;flex-direction: column;align-items: center;" v-if="meueData.user_center.top_style == 2">
<u-avatar :src="user_info.avatar" size="140"></u-avatar> <u-avatar :src="user_info.avatar" size="140"></u-avatar>
<Text style="color: #FFF;margin-left: 20rpx;font-size: 36rpx;" @click="login(user_info)">{{ user_info.nickname ? user_info.nickname : '立即登录' }}</Text> <Text style="color: #FFF;margin-left: 20rpx;font-size: 36rpx;" @click="login(user_info)">{{ user_info.nickname ? user_info.nickname : '立即登录' }}</Text>
<view class="member" @click="goUrl('/pages/member/index/index')"> <view class="member" @click="goUrl('/pages/member/index/index')" v-if='user_info.nickname'>
<image :src="meueData.user_center.top_pic_url" mode='aspectFill' style="width: 26px;height: 26px;border-radius: 13px;"></image> <image :src="meueData.user_center.top_pic_url" mode='aspectFill' style="width: 26px;height: 26px;border-radius: 13px;"></image>
<Text style='margin-right: 10px;'>{{user_info.identity.level_name!=null ?user_info.identity.level_name:'普通用户' }}</Text> <Text style='margin-right: 10px;'>{{user_info.identity.level_name!=null ?user_info.identity.level_name:'普通用户' }}</Text>
</view> </view>
...@@ -99,8 +99,8 @@ ...@@ -99,8 +99,8 @@
</view> </view>
</view> </view>
<view class="copyright"> <view class="copyright">
<image :src="meueData.user_center.copyright.pic_url" style="width: 95px;height: 28px;"></image> <image :src="meueData.user_center.copyright.pic_url" mode="widthFix" style="width: 95px;"></image>
<Text style="margin-top: 10rpx;">{{ meueData.user_center.copyright.description }}</Text> <Text style="margin-top: 10rpx;color: #666666;">{{ meueData.user_center.copyright.description }}</Text>
</view> </view>
</view> </view>
<auth v-if="showAuth" @changeuserinfo="reloadUserinfo" @gbAuth="gbAuth"></auth> <auth v-if="showAuth" @changeuserinfo="reloadUserinfo" @gbAuth="gbAuth"></auth>
......
export default { export default {
install(Vue, options) { install(Vue, options) {
Vue.prototype.host = "https://wx.weibaoge.cn/web/index.php?_mall_id=1285" //Vue.prototype.host2 = "http://192.168.0.110:8200"
Vue.prototype.host2 = "https://mallApi.oytour.com" Vue.prototype.host2 = "https://mallApi.oytour.com"
//Vue.prototype.host2 = "https://mallApi.oytour.com"
//Vue.prototype.host2 = "http://mallapi.oytour.com"
Vue.prototype.request = function(param, success, failed) {
//网络请求
uni.request({
url: this.host + "&r=" + param.data.r,
method: param.method || "GET",
header: param.header || {
'content-type': "application/json"
},
data: param.data,
success: res => {
if (res.data.code != 0 && res.data.msg != "商品未上架") {
}
typeof success == "function" && success(res.data);
},
fail: (e) => {
console.log("网络请求fail:" + JSON.stringify(e));
uni.showModal({
content: "" + res.errMsg
});
typeof failed == "function" && failed(res.data);
}
});
}
Vue.prototype.request2 = function(param, success, failed) { Vue.prototype.request2 = function(param, success, failed) {
//网络请求 //网络请求
uni.request({ uni.request({
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment