14 changed files with 689 additions and 658 deletions
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -1,220 +1,246 @@ |
|||||||
<template> |
<template> |
||||||
<view class="group-con"> |
<view class="group-con"> |
||||||
<view class="header acea-row row-between-wrapper"> |
<view class="header acea-row row-between-wrapper"> |
||||||
<view class="pictrue"> |
<view class="pictrue"> |
||||||
<image :src="storeCombination.image" /> |
<image :src="storeCombination.image" /> |
||||||
</view> |
</view> |
||||||
<view class="text"> |
<view class="text"> |
||||||
<view class="line1" v-text="storeCombination.title"></view> |
<view class="line1" v-text="storeCombination.title"></view> |
||||||
<view class="money"> |
<view class="money"> |
||||||
<text>¥</text> |
<text>¥</text> |
||||||
<text class="num" v-text="storeCombination.price"></text> |
<text class="num" v-text="storeCombination.price"></text> |
||||||
<text class="team cart-color" v-text="storeCombination.people + '人拼'"></text> |
<text class="team cart-color" v-text="storeCombination.people + '人拼'"></text> |
||||||
</view> |
</view> |
||||||
</view> |
</view> |
||||||
<view v-if="pinkBool === -1" class="iconfont icon-pintuanshibai"></view> |
<view v-if="pinkBool === -1" class="iconfont icon-pintuanshibai"></view> |
||||||
<view v-else-if="pinkBool === 1" class="iconfont icon-pintuanchenggong font-color-red"></view> |
<view v-else-if="pinkBool === 1" class="iconfont icon-pintuanchenggong font-color-red"></view> |
||||||
</view> |
</view> |
||||||
<view class="wrapper"> |
<view class="wrapper"> |
||||||
<view class="title acea-row row-center-wrapper"> |
<view class="title acea-row row-center-wrapper"> |
||||||
<view class="line"></view> |
<view class="line"></view> |
||||||
<view class="name acea-row row-center-wrapper"> |
<view class="name acea-row row-center-wrapper"> |
||||||
<text>剩余</text> |
<text>剩余</text> |
||||||
<count-down :is-day="false" :tip-text="''" :day-text="''" :hour-text="' : '" :minute-text="' : '" :second-text="''" |
<count-down |
||||||
:datatime="pinkT.stopTime"></count-down> |
:isDay="false" |
||||||
<text>结束</text> |
:tipText="false" |
||||||
</view> |
:dayText="false" |
||||||
<view class="line"></view> |
:hourText="' : '" |
||||||
</view> |
:minuteText="' : '" |
||||||
<text class="tips font-color-red" v-if="pinkBool === 1">恭喜您拼团成功</text> |
:secondText="false" |
||||||
<text class="tips" v-else-if="pinkBool === -1">还差{{ count }}人,拼团失败</text> |
:datatime="pinkT.stopTime" |
||||||
<text class="tips font-color-red" v-else-if="pinkBool === 0">拼团中,还差{{ count }}人拼团成功</text> |
></count-down> |
||||||
<view class="list acea-row row-middle" :class="[pinkBool === 1 || pinkBool === -1 ? 'result' : '',iShidden ? 'on' : '']"> |
<text>结束</text> |
||||||
<view class="pictrue"> |
</view> |
||||||
<image :src="pinkT.avatar" /> |
<view class="line"></view> |
||||||
</view> |
</view> |
||||||
<view class="acea-row row-middle" v-if="pinkAll.length > 0"> |
<view class="tips-warp"> |
||||||
<view class="pictrue" v-for="(item, pinkAllIndex) in pinkAll" :key="pinkAllIndex"> |
<text class="tips font-color-red" v-if="pinkBool === 1">恭喜您拼团成功</text> |
||||||
<image :src="item.avatar" /> |
<text class="tips" v-else-if="pinkBool === -1">还差{{ count }}人,拼团失败</text> |
||||||
</view> |
<text class="tips font-color-red" v-else-if="pinkBool === 0">拼团中,还差{{ count }}人拼团成功</text> |
||||||
</view> |
</view> |
||||||
<view class="pictrue" v-for="countIndex in count" :key="countIndex"> |
<view |
||||||
<image class="img-none" src="@/static/images/vacancy.png" /> |
class="list acea-row row-middle" |
||||||
</view> |
:class="[pinkBool === 1 || pinkBool === -1 ? 'result' : '',iShidden ? 'on' : '']" |
||||||
</view> |
> |
||||||
<view v-if="(pinkBool === 1 || pinkBool === -1) && count > 9" class="lookAll acea-row row-center-wrapper" @click="lookAll"> |
<view class="pictrue"> |
||||||
{{ iShidden ? "收起" : "查看全部" }} |
<image :src="pinkT.avatar" /> |
||||||
<text class="iconfont" :class="iShidden ? 'icon-xiangshang' : 'icon-xiangxia'"></text> |
</view> |
||||||
</view> |
<view class="acea-row row-middle" v-if="pinkAll.length > 0"> |
||||||
<view class="teamBnt bg-color-red" v-if="userBool === 1 && isOk == 0 && pinkBool === 0" @click="goPoster">邀请好友参团</view> |
<view class="pictrue" v-for="(item, pinkAllIndex) in pinkAll" :key="pinkAllIndex"> |
||||||
<view class="teamBnt bg-color-red" v-else-if="userBool === 0 && pinkBool === 0 && count > 0" @click="pay">我要参团</view> |
<image :src="item.avatar" /> |
||||||
<view class="teamBnt bg-color-red" v-if="pinkBool === 1 || pinkBool === -1" @click="goDetail(storeCombination.id)">再次开团</view> |
</view> |
||||||
<view class="cancel" @click="getCombinationRemove" v-if="pinkBool === 0 && userBool === 1"> |
</view> |
||||||
<text class="iconfont icon-guanbi3"></text> |
<view class="pictrue" v-for="countIndex in count" :key="countIndex"> |
||||||
<text>取消开团</text> |
<image class="img-none" src="@/static/images/vacancy.png" /> |
||||||
</view> |
</view> |
||||||
<view class="lookOrder" v-if="pinkBool === 1" @click="goOrder"> |
</view> |
||||||
<text>查看订单信息</text> |
<view |
||||||
<text class="iconfont icon-xiangyou"></text> |
v-if="(pinkBool === 1 || pinkBool === -1) && count > 9" |
||||||
</view> |
class="lookAll acea-row row-center-wrapper" |
||||||
</view> |
@click="lookAll" |
||||||
</view> |
> |
||||||
|
{{ iShidden ? "收起" : "查看全部" }} |
||||||
|
<text class="iconfont" :class="iShidden ? 'icon-xiangshang' : 'icon-xiangxia'"></text> |
||||||
|
</view> |
||||||
|
<view |
||||||
|
class="teamBnt bg-color-red" |
||||||
|
v-if="userBool === 1 && isOk == 0 && pinkBool === 0" |
||||||
|
@click="goPoster" |
||||||
|
>邀请好友参团</view> |
||||||
|
<view |
||||||
|
class="teamBnt bg-color-red" |
||||||
|
v-else-if="userBool === 0 && pinkBool === 0 && count > 0" |
||||||
|
@click="pay" |
||||||
|
>我要参团</view> |
||||||
|
<view |
||||||
|
class="teamBnt bg-color-red" |
||||||
|
v-if="pinkBool === 1 || pinkBool === -1" |
||||||
|
@click="goDetail(storeCombination.id)" |
||||||
|
>再次开团</view> |
||||||
|
<view class="cancel" @click="getCombinationRemove" v-if="pinkBool === 0 && userBool === 1"> |
||||||
|
<text class="iconfont icon-guanbi3"></text> |
||||||
|
<text>取消开团</text> |
||||||
|
</view> |
||||||
|
<view class="lookOrder" v-if="pinkBool === 1" @click="goOrder"> |
||||||
|
<text>查看订单信息</text> |
||||||
|
<text class="iconfont icon-xiangyou"></text> |
||||||
|
</view> |
||||||
|
</view> |
||||||
|
</view> |
||||||
</template> |
</template> |
||||||
<script> |
<script> |
||||||
import CountDown from "@/components/CountDown"; |
import CountDown from "@/components/CountDown"; |
||||||
import { |
import { getCombinationPink, getCombinationRemove } from "@/api/activity"; |
||||||
getCombinationPink, |
import { postCartAdd } from "@/api/store"; |
||||||
getCombinationRemove |
import { isWeixin, parseQuery, handleQrCode } from "@/utils/index"; |
||||||
} from "@/api/activity"; |
|
||||||
import { |
|
||||||
postCartAdd |
|
||||||
} from "@/api/store"; |
|
||||||
import { |
|
||||||
isWeixin, |
|
||||||
parseQuery, |
|
||||||
handleQrCode |
|
||||||
} from "@/utils/index"; |
|
||||||
|
|
||||||
const NAME = "GroupRule"; |
const NAME = "GroupRule"; |
||||||
export default { |
export default { |
||||||
name: NAME, |
name: NAME, |
||||||
components: { |
components: { |
||||||
CountDown |
CountDown |
||||||
}, |
}, |
||||||
props: {}, |
props: {}, |
||||||
data: function() { |
data: function() { |
||||||
return { |
return { |
||||||
currentPinkOrder: "", //当前拼团订单 |
currentPinkOrder: "", //当前拼团订单 |
||||||
isOk: 0, //判断拼团是否完成 |
isOk: 0, //判断拼团是否完成 |
||||||
pinkBool: 0, //判断拼团是否成功|0=失败,1=成功 |
pinkBool: 0, //判断拼团是否成功|0=失败,1=成功 |
||||||
userBool: 0, //判断当前用户是否在团内|0=未在,1=在 |
userBool: 0, //判断当前用户是否在团内|0=未在,1=在 |
||||||
pinkAll: [], //团员 |
pinkAll: [], //团员 |
||||||
pinkT: [], //团长信息 |
pinkT: [], //团长信息 |
||||||
storeCombination: [], //拼团产品 |
storeCombination: [], //拼团产品 |
||||||
pinkId: 0, |
pinkId: 0, |
||||||
count: 0, //拼团剩余人数 |
count: 0, //拼团剩余人数 |
||||||
iShidden: false |
iShidden: false |
||||||
}; |
}; |
||||||
}, |
}, |
||||||
watch: { |
watch: { |
||||||
$yroute(n) { |
$yroute(n) { |
||||||
var that = this; |
var that = this; |
||||||
if (n.name === NAME) { |
if (n.name === NAME) { |
||||||
that.pinkId = that.$yroute.query.id; |
that.pinkId = that.$yroute.query.id; |
||||||
that.getCombinationPink(); |
that.getCombinationPink(); |
||||||
} |
} |
||||||
} |
} |
||||||
}, |
}, |
||||||
mounted: function() { |
mounted: function() { |
||||||
var that = this; |
var that = this; |
||||||
let url = handleQrCode(); |
let url = handleQrCode(); |
||||||
if (url) { |
if (url) { |
||||||
that.pinkId = url.pinkId; |
that.pinkId = url.pinkId; |
||||||
} else { |
} else { |
||||||
that.pinkId = that.$yroute.query.id; |
that.pinkId = that.$yroute.query.id; |
||||||
} |
} |
||||||
that.getCombinationPink(); |
that.getCombinationPink(); |
||||||
}, |
}, |
||||||
methods: { |
methods: { |
||||||
pay: function() { |
pay: function() { |
||||||
var that = this; |
var that = this; |
||||||
var data = {}; |
var data = {}; |
||||||
data.productId = that.storeCombination.productId; |
data.productId = that.storeCombination.productId; |
||||||
data.cartNum = that.pinkT.totalNum; |
data.cartNum = that.pinkT.totalNum; |
||||||
data.uniqueId = ""; |
data.uniqueId = ""; |
||||||
data.combinationId = that.storeCombination.id; |
data.combinationId = that.storeCombination.id; |
||||||
data.new = 1; |
data.new = 1; |
||||||
postCartAdd(data) |
postCartAdd(data) |
||||||
.then(res => { |
.then(res => { |
||||||
that.$yrouter.push({ |
that.$yrouter.push({ |
||||||
path: "/pages/order/OrderSubmission/index", |
path: "/pages/order/OrderSubmission/index", |
||||||
query: { |
query: { |
||||||
id: res.data.cartId, |
id: res.data.cartId, |
||||||
pinkid: that.pinkId |
pinkid: that.pinkId |
||||||
} |
} |
||||||
}); |
}); |
||||||
}) |
}) |
||||||
.catch(err => { |
.catch(err => { |
||||||
uni.showToast({ |
uni.showToast({ |
||||||
title: err.msg || err.response.data.msg, |
title: err.msg || err.response.data.msg, |
||||||
icon: 'none', |
icon: "none", |
||||||
duration: 2000 |
duration: 2000 |
||||||
}); |
}); |
||||||
}); |
}); |
||||||
}, |
}, |
||||||
goPoster: function() { |
goPoster: function() { |
||||||
var that = this; |
var that = this; |
||||||
this.$yrouter.push({ |
this.$yrouter.push({ |
||||||
path: "/pages/activity/Poster/index", |
path: "/pages/activity/Poster/index", |
||||||
query: { |
query: { |
||||||
id: that.pinkId, |
id: that.pinkId, |
||||||
type: 1 |
type: 1 |
||||||
} |
} |
||||||
}); |
}); |
||||||
}, |
}, |
||||||
goOrder: function() { |
goOrder: function() { |
||||||
var that = this; |
var that = this; |
||||||
this.$yrouter.push({ |
this.$yrouter.push({ |
||||||
path: "/pages/order/OrderDetails/index", |
path: "/pages/order/OrderDetails/index", |
||||||
query: { |
query: { |
||||||
id: that.currentPinkOrder |
id: that.currentPinkOrder |
||||||
} |
} |
||||||
}); |
}); |
||||||
}, |
}, |
||||||
//拼团列表 |
//拼团列表 |
||||||
goList: function() { |
goList: function() { |
||||||
this.$yrouter.push({ |
this.$yrouter.push({ |
||||||
path: "/pages/activity/GoodsGroup/index" |
path: "/pages/activity/GoodsGroup/index" |
||||||
}); |
}); |
||||||
}, |
}, |
||||||
//拼团详情 |
//拼团详情 |
||||||
goDetail: function(id) { |
goDetail: function(id) { |
||||||
this.$yrouter.push({ |
this.$yrouter.push({ |
||||||
path: "/pages/activity/GroupDetails/index", |
path: "/pages/activity/GroupDetails/index", |
||||||
query: { |
query: { |
||||||
id |
id |
||||||
} |
} |
||||||
}); |
}); |
||||||
}, |
}, |
||||||
//拼团信息 |
//拼团信息 |
||||||
getCombinationPink: function() { |
getCombinationPink: function() { |
||||||
var that = this; |
var that = this; |
||||||
getCombinationPink(that.pinkId).then(res => { |
getCombinationPink(that.pinkId).then(res => { |
||||||
that.$set(that, "storeCombination", res.data.storeCombination); |
that.$set(that, "storeCombination", res.data.storeCombination); |
||||||
that.$set(that, "pinkT", res.data.pinkT); |
that.$set(that, "pinkT", res.data.pinkT); |
||||||
that.$set(that, "pinkAll", res.data.pinkAll); |
that.$set(that, "pinkAll", res.data.pinkAll); |
||||||
that.$set(that, "count", res.data.count); |
that.$set(that, "count", res.data.count); |
||||||
that.$set(that, "userBool", res.data.userBool); |
that.$set(that, "userBool", res.data.userBool); |
||||||
that.$set(that, "pinkBool", res.data.pinkBool); |
that.$set(that, "pinkBool", res.data.pinkBool); |
||||||
that.$set(that, "isOk", res.data.isOk); |
that.$set(that, "isOk", res.data.isOk); |
||||||
that.$set(that, "currentPinkOrder", res.data.currentPinkOrder); |
that.$set(that, "currentPinkOrder", res.data.currentPinkOrder); |
||||||
}); |
}); |
||||||
}, |
}, |
||||||
//拼团取消 |
//拼团取消 |
||||||
getCombinationRemove: function() { |
getCombinationRemove: function() { |
||||||
var that = this; |
var that = this; |
||||||
getCombinationRemove({ |
getCombinationRemove({ |
||||||
id: that.pinkId, |
id: that.pinkId, |
||||||
cid: that.storeCombination.id |
cid: that.storeCombination.id |
||||||
}) |
}) |
||||||
.then(res => { |
.then(res => { |
||||||
uni.showToast({ |
uni.showToast({ |
||||||
title: res.msg, |
title: res.msg, |
||||||
icon: "none", |
icon: "none", |
||||||
duration: 2000 |
duration: 2000 |
||||||
}); |
}); |
||||||
}) |
}) |
||||||
.catch(res => { |
.catch(res => { |
||||||
uni.showToast({ |
uni.showToast({ |
||||||
title: res.msg, |
title: res.msg, |
||||||
icon: "none", |
icon: "none", |
||||||
duration: 2000 |
duration: 2000 |
||||||
}); |
}); |
||||||
}); |
}); |
||||||
}, |
}, |
||||||
lookAll: function() { |
lookAll: function() { |
||||||
this.iShidden = !this.iShidden; |
this.iShidden = !this.iShidden; |
||||||
} |
} |
||||||
} |
} |
||||||
}; |
}; |
||||||
</script> |
</script> |
||||||
|
|
||||||
|
<style lang="less"> |
||||||
|
.tips-warp{ |
||||||
|
text-align: center; |
||||||
|
margin-top: 20rpx; |
||||||
|
} |
||||||
|
</style> |
||||||
|
@ -1,364 +1,384 @@ |
|||||||
<template> |
<template> |
||||||
<view class="user"> |
<view class="user"> |
||||||
<view v-if="userInfo.uid"> |
<view v-if="$store.getters.token||userInfo.uid"> |
||||||
<view class="header bg-color-red acea-row row-between-wrapper"> |
<view class="header bg-color-red acea-row row-between-wrapper"> |
||||||
<view class="picTxt acea-row row-between-wrapper"> |
<view class="picTxt acea-row row-between-wrapper"> |
||||||
<view class="pictrue"> |
<view class="pictrue"> |
||||||
<image :src="userInfo.avatar" /> |
<image :src="userInfo.avatar" /> |
||||||
</view> |
</view> |
||||||
<view class="text"> |
<view class="text"> |
||||||
<view class="acea-row row-middle"> |
<view class="acea-row row-middle"> |
||||||
<view class="name line1">{{ userInfo.nickname }}</view> |
<view class="name line1">{{ userInfo.nickname }}</view> |
||||||
<view class="member acea-row row-middle" v-if="userInfo.vip"> |
<view class="member acea-row row-middle" v-if="userInfo.vip"> |
||||||
<image :src="userInfo.vipIcon" /> |
<image :src="userInfo.vipIcon" /> |
||||||
<text>{{ userInfo.vipName }}</text> |
<text>{{ userInfo.vipName }}</text> |
||||||
</view> |
</view> |
||||||
</view> |
</view> |
||||||
<view @click="goPersonalData()" class="id" v-if="userInfo.phone"> |
<view @click="goPersonalData()" class="id" v-if="userInfo.phone"> |
||||||
<text>ID:{{ userInfo.uid || 0}}</text> |
<text>ID:{{ userInfo.uid || 0}}</text> |
||||||
<text class="iconfont icon-bianji1"></text> |
<text class="iconfont icon-bianji1"></text> |
||||||
</view> |
</view> |
||||||
<button open-type="getPhoneNumber" @getphonenumber="getPhoneNumber" class="binding" v-else> |
<button |
||||||
<text>绑定手机号</text> |
open-type="getPhoneNumber" |
||||||
</button> |
@getphonenumber="getPhoneNumber" |
||||||
</view> |
class="binding" |
||||||
</view> |
v-else |
||||||
<text class="iconfont icon-shezhi" @click="goPersonalData()"></text> |
> |
||||||
</view> |
<text>绑定手机号</text> |
||||||
<view class="wrapper"> |
</button> |
||||||
<view class="nav acea-row row-middle"> |
</view> |
||||||
<view @click="goUserAccount()" class="item"> |
</view> |
||||||
<text>我的余额</text> |
<text class="iconfont icon-shezhi" @click="goPersonalData()"></text> |
||||||
<text class="num">{{ userInfo.nowMoney || 0 }}</text> |
</view> |
||||||
</view> |
<view class="wrapper"> |
||||||
<view @click="goUserPromotion()" class="item" v-if="userInfo.isPromoter === 1 || userInfo.statu === 2"> |
<view class="nav acea-row row-middle"> |
||||||
<text>当前佣金</text> |
<view @click="goUserAccount()" class="item"> |
||||||
<text class="num">{{ userInfo.brokeragePrice || 0 }}</text> |
<text>我的余额</text> |
||||||
</view> |
<text class="num">{{ userInfo.nowMoney || 0 }}</text> |
||||||
<view @click="goIntegral()" class="item" v-else> |
</view> |
||||||
<text>当前积分</text> |
<view |
||||||
<text class="num">{{ userInfo.integral || 0 }}</text> |
@click="goUserPromotion()" |
||||||
</view> |
class="item" |
||||||
<view @click="goUserCoupon()" class="item"> |
v-if="userInfo.isPromoter === 1 || userInfo.statu === 2" |
||||||
<text>优惠券</text> |
> |
||||||
<text class="num">{{ userInfo.couponCount || 0 }}</text> |
<text>当前佣金</text> |
||||||
</view> |
<text class="num">{{ userInfo.brokeragePrice || 0 }}</text> |
||||||
</view> |
</view> |
||||||
<view class="myOrder"> |
<view @click="goIntegral()" class="item" v-else> |
||||||
<view class="title acea-row row-between-wrapper"> |
<text>当前积分</text> |
||||||
<text>我的订单</text> |
<text class="num">{{ userInfo.integral || 0 }}</text> |
||||||
<text @click="goMyOrder()" class="allOrder"> |
</view> |
||||||
<text>全部订单</text> |
<view @click="goUserCoupon()" class="item"> |
||||||
<text class="iconfont icon-jiantou"></text> |
<text>优惠券</text> |
||||||
</text> |
<text class="num">{{ userInfo.couponCount || 0 }}</text> |
||||||
</view> |
</view> |
||||||
<view class="orderState acea-row row-middle"> |
</view> |
||||||
<view @click="goMyOrder(0)" class="item"> |
<view class="myOrder"> |
||||||
<view class="pictrue"> |
<view class="title acea-row row-between-wrapper"> |
||||||
<image src="@/static/images/dfk.png" /> |
<text>我的订单</text> |
||||||
<text class="order-status-num" v-if="userInfo.orderStatusNum.unpaidCount > 0">{{ userInfo.orderStatusNum.unpaidCount }}</text> |
<text @click="goMyOrder()" class="allOrder"> |
||||||
</view> |
<text>全部订单</text> |
||||||
<view>待付款</view> |
<text class="iconfont icon-jiantou"></text> |
||||||
</view> |
</text> |
||||||
<view @click="goMyOrder(1)" class="item"> |
</view> |
||||||
<view class="pictrue"> |
<view class="orderState acea-row row-middle"> |
||||||
<image src="@/static/images/dfh.png" /> |
<view @click="goMyOrder(0)" class="item"> |
||||||
<text class="order-status-num" v-if="userInfo.orderStatusNum.unshippedCount > 0">{{ userInfo.orderStatusNum.unshippedCount }}</text> |
<view class="pictrue"> |
||||||
</view> |
<image src="@/static/images/dfk.png" /> |
||||||
<view>待发货</view> |
<text |
||||||
</view> |
class="order-status-num" |
||||||
<view @click="goMyOrder(2)" class="item"> |
v-if="userInfo.orderStatusNum.unpaidCount > 0" |
||||||
<view class="pictrue"> |
>{{ userInfo.orderStatusNum.unpaidCount }}</text> |
||||||
<image src="@/static/images/dsh.png" /> |
</view> |
||||||
<text class="order-status-num" v-if="userInfo.orderStatusNum.receivedCount > 0">{{ userInfo.orderStatusNum.receivedCount }}</text> |
<view>待付款</view> |
||||||
</view> |
</view> |
||||||
<text>待收货</text> |
<view @click="goMyOrder(1)" class="item"> |
||||||
</view> |
<view class="pictrue"> |
||||||
<view @click="goMyOrder(3)" class="item"> |
<image src="@/static/images/dfh.png" /> |
||||||
<view class="pictrue"> |
<text |
||||||
<image src="@/static/images/dpj.png" /> |
class="order-status-num" |
||||||
<text class="order-status-num" v-if="userInfo.orderStatusNum.evaluatedCount > 0">{{ userInfo.orderStatusNum.evaluatedCount }}</text> |
v-if="userInfo.orderStatusNum.unshippedCount > 0" |
||||||
</view> |
>{{ userInfo.orderStatusNum.unshippedCount }}</text> |
||||||
<text>待评价</text> |
</view> |
||||||
</view> |
<view>待发货</view> |
||||||
<view @click="goReturnList()" class="item"> |
</view> |
||||||
<view class="pictrue"> |
<view @click="goMyOrder(2)" class="item"> |
||||||
<image src="@/static/images/sh.png" /> |
<view class="pictrue"> |
||||||
<text class="order-status-num" v-if="userInfo.orderStatusNum.refundCount > 0">{{ userInfo.orderStatusNum.refundCount }}</text> |
<image src="@/static/images/dsh.png" /> |
||||||
</view> |
<text |
||||||
<text>售后/退款</text> |
class="order-status-num" |
||||||
</view> |
v-if="userInfo.orderStatusNum.receivedCount > 0" |
||||||
</view> |
>{{ userInfo.orderStatusNum.receivedCount }}</text> |
||||||
</view> |
</view> |
||||||
<view class="myService"> |
<text>待收货</text> |
||||||
<view class="title acea-row row-middle"> |
</view> |
||||||
<text>我的服务</text> |
<view @click="goMyOrder(3)" class="item"> |
||||||
</view> |
<view class="pictrue"> |
||||||
<view class="serviceList acea-row row-middle"> |
<image src="@/static/images/dpj.png" /> |
||||||
<template v-for="(item, MyMenusIndex) in MyMenus"> |
<text |
||||||
<view class="item" :key="MyMenusIndex" @click="goPages(MyMenusIndex)" v-if="item.url&&item.id!='230'"> |
class="order-status-num" |
||||||
<view class="pictrue"> |
v-if="userInfo.orderStatusNum.evaluatedCount > 0" |
||||||
<image :src="item.pic" /> |
>{{ userInfo.orderStatusNum.evaluatedCount }}</text> |
||||||
</view> |
</view> |
||||||
<view>{{ item.name }}</view> |
<text>待评价</text> |
||||||
</view> |
</view> |
||||||
</template> |
<view @click="goReturnList()" class="item"> |
||||||
</view> |
<view class="pictrue"> |
||||||
</view> |
<image src="@/static/images/sh.png" /> |
||||||
<!--<view --> |
<text |
||||||
<!--class="item"--> |
class="order-status-num" |
||||||
<!--@click="changeswitch(true)"--> |
v-if="userInfo.orderStatusNum.refundCount > 0" |
||||||
<!--v-if="userInfo.phone && isWeixin"--> |
>{{ userInfo.orderStatusNum.refundCount }}</text> |
||||||
<!-->--> |
</view> |
||||||
<!--<view class="pictrue"><image src="@/static/images/switch.png" /></view>--> |
<text>售后/退款</text> |
||||||
<!--<view>账号切换</!--<view>--> |
</view> |
||||||
<!--</!--<view>--> |
</view> |
||||||
<!-- </view> |
</view> |
||||||
|
<view class="myService"> |
||||||
|
<view class="title acea-row row-middle"> |
||||||
|
<text>我的服务</text> |
||||||
|
</view> |
||||||
|
<view class="serviceList acea-row row-middle"> |
||||||
|
<template v-for="(item, MyMenusIndex) in MyMenus"> |
||||||
|
<view |
||||||
|
class="item" |
||||||
|
:key="MyMenusIndex" |
||||||
|
@click="goPages(MyMenusIndex)" |
||||||
|
v-if="item.url&&item.id!='230'" |
||||||
|
> |
||||||
|
<view class="pictrue"> |
||||||
|
<image :src="item.pic" /> |
||||||
|
</view> |
||||||
|
<view>{{ item.name }}</view> |
||||||
|
</view> |
||||||
|
</template> |
||||||
|
</view> |
||||||
|
</view> |
||||||
|
<!--<view --> |
||||||
|
<!--class="item"--> |
||||||
|
<!--@click="changeswitch(true)"--> |
||||||
|
<!--v-if="userInfo.phone && isWeixin"--> |
||||||
|
<!-->--> |
||||||
|
<!--<view class="pictrue"><image src="@/static/images/switch.png" /></view>--> |
||||||
|
<!--<view>账号切换</!--<view>--> |
||||||
|
<!--</!--<view>--> |
||||||
|
<!-- </view> |
||||||
</view>--> |
</view>--> |
||||||
</view> |
</view> |
||||||
<view class="by"> |
<view class="by"> |
||||||
<text class="by-text">By@意象</text> |
<text class="by-text">By@意象</text> |
||||||
</view> |
</view> |
||||||
<view class="by"> |
<view class="by"> |
||||||
<view> |
<view> |
||||||
<text class="by-text">Copyright © 2020</text> |
<text class="by-text">Copyright © 2020</text> |
||||||
</view> |
</view> |
||||||
<view> |
<view> |
||||||
<text class="by-text">漯河市大有前途网络科技有限公司</text> |
<text class="by-text">漯河市大有前途网络科技有限公司</text> |
||||||
</view> |
</view> |
||||||
</view> |
</view> |
||||||
<view class="footer-line-height"></view> |
<view class="footer-line-height"></view> |
||||||
<!-- <SwitchWindow |
<!-- <SwitchWindow |
||||||
v-on:changeswitch="changeswitch" |
v-on:changeswitch="changeswitch" |
||||||
:switchActive="switchActive" |
:switchActive="switchActive" |
||||||
:login_type="userInfo.login_type" |
:login_type="userInfo.login_type" |
||||||
></SwitchWindow> --> |
></SwitchWindow>--> |
||||||
</view> |
</view> |
||||||
<Authorization v-if="!$store.getters.token" /> |
<Authorization v-if="!$store.getters.token" /> |
||||||
</view> |
</view> |
||||||
</template> |
</template> |
||||||
<script> |
<script> |
||||||
import { |
import { getUser, getMenuUser, bindingPhone } from "@/api/user"; |
||||||
getUser, |
import { isWeixin, VUE_APP_RESOURCES_URL } from "@/utils"; |
||||||
getMenuUser, |
import SwitchWindow from "@/components/SwitchWindow"; |
||||||
bindingPhone |
import Authorization from "@/pages/authorization/index"; |
||||||
} from "@/api/user"; |
import { mapGetters } from "vuex"; |
||||||
import { |
|
||||||
isWeixin, |
|
||||||
VUE_APP_RESOURCES_URL |
|
||||||
} from "@/utils"; |
|
||||||
import SwitchWindow from "@/components/SwitchWindow"; |
|
||||||
import Authorization from "@/pages/authorization/index"; |
|
||||||
import { |
|
||||||
mapGetters |
|
||||||
} from "vuex"; |
|
||||||
|
|
||||||
const NAME = "User"; |
const NAME = "User"; |
||||||
|
|
||||||
export default { |
export default { |
||||||
name: NAME, |
name: NAME, |
||||||
components: { |
components: { |
||||||
SwitchWindow, |
SwitchWindow, |
||||||
Authorization |
Authorization |
||||||
}, |
}, |
||||||
props: {}, |
props: {}, |
||||||
data: function() { |
data: function() { |
||||||
return { |
return { |
||||||
MyMenus: [], |
MyMenus: [], |
||||||
switchActive: false, |
switchActive: false, |
||||||
isWeixin: false |
isWeixin: false |
||||||
}; |
}; |
||||||
}, |
}, |
||||||
computed: mapGetters(["userInfo"]), |
computed: mapGetters(["userInfo"]), |
||||||
methods: { |
methods: { |
||||||
goReturnList() { |
goReturnList() { |
||||||
this.$yrouter.push("/pages/order/ReturnList/index"); |
this.$yrouter.push("/pages/order/ReturnList/index"); |
||||||
}, |
}, |
||||||
goMyOrder(type) { |
goMyOrder(type) { |
||||||
this.$yrouter.push({ |
this.$yrouter.push({ |
||||||
path: "/pages/order/MyOrder/index", |
path: "/pages/order/MyOrder/index", |
||||||
query: { |
query: { |
||||||
type |
type |
||||||
} |
} |
||||||
}); |
}); |
||||||
}, |
}, |
||||||
goUserCoupon() { |
goUserCoupon() { |
||||||
this.$yrouter.push("/pages/user/coupon/UserCoupon/index"); |
this.$yrouter.push("/pages/user/coupon/UserCoupon/index"); |
||||||
}, |
}, |
||||||
goIntegral() { |
goIntegral() { |
||||||
this.$yrouter.push("/pages/user/signIn/Integral/index"); |
this.$yrouter.push("/pages/user/signIn/Integral/index"); |
||||||
}, |
}, |
||||||
goUserPromotion() { |
goUserPromotion() { |
||||||
this.$yrouter.push("/pages/user/promotion/UserPromotion/index"); |
this.$yrouter.push("/pages/user/promotion/UserPromotion/index"); |
||||||
}, |
}, |
||||||
goUserAccount() { |
goUserAccount() { |
||||||
this.$yrouter.push({ |
this.$yrouter.push({ |
||||||
path: "/pages/user/UserAccount/index" |
path: "/pages/user/UserAccount/index" |
||||||
}); |
}); |
||||||
}, |
}, |
||||||
goPersonalData() { |
goPersonalData() { |
||||||
this.$yrouter.push("/pages/user/PersonalData/index"); |
this.$yrouter.push("/pages/user/PersonalData/index"); |
||||||
}, |
}, |
||||||
getPhoneNumber: function(e) { |
getPhoneNumber: function(e) { |
||||||
console.log(e.mp.detail); |
console.log(e.mp.detail); |
||||||
// 判断一下这里是不是小程序 如果是小程序,走获取微信手机号进行绑定 |
// 判断一下这里是不是小程序 如果是小程序,走获取微信手机号进行绑定 |
||||||
if (e.mp.detail.errMsg == "getPhoneNumber:ok") { |
if (e.mp.detail.errMsg == "getPhoneNumber:ok") { |
||||||
uni.showLoading({ |
uni.showLoading({ |
||||||
title: "绑定中" |
title: "绑定中" |
||||||
}); |
}); |
||||||
// 获取当前环境的服务商 |
// 获取当前环境的服务商 |
||||||
uni.getProvider({ |
uni.getProvider({ |
||||||
service: "oauth", |
service: "oauth", |
||||||
success: function(res) { |
success: function(res) { |
||||||
console.log(res.provider); |
console.log(res.provider); |
||||||
// 此处可以排除h5 |
// 此处可以排除h5 |
||||||
if (res.provider) { |
if (res.provider) { |
||||||
uni.login({ |
uni.login({ |
||||||
success: loginRes => { |
success: loginRes => { |
||||||
bindingPhone({ |
bindingPhone({ |
||||||
code: loginRes.code, |
code: loginRes.code, |
||||||
encryptedData: e.mp.detail.encryptedData, |
encryptedData: e.mp.detail.encryptedData, |
||||||
iv: e.mp.detail.iv |
iv: e.mp.detail.iv |
||||||
}) |
}) |
||||||
.then(res => { |
.then(res => { |
||||||
this.User(); |
this.User(); |
||||||
uni.hideLoading(); |
uni.hideLoading(); |
||||||
uni.showToast({ |
uni.showToast({ |
||||||
title: res.msg, |
title: res.msg, |
||||||
icon: "success", |
icon: "success", |
||||||
duration: 2000 |
duration: 2000 |
||||||
}); |
}); |
||||||
}) |
}) |
||||||
.catch(error => { |
.catch(error => { |
||||||
uni.showToast({ |
uni.showToast({ |
||||||
title: error.msg || error.response.data.msg, |
title: error.msg || error.response.data.msg, |
||||||
icon: "none", |
icon: "none", |
||||||
duration: 2000 |
duration: 2000 |
||||||
}); |
}); |
||||||
}); |
}); |
||||||
} |
} |
||||||
}); |
}); |
||||||
} |
} |
||||||
} |
} |
||||||
}); |
}); |
||||||
} else { |
} else { |
||||||
uni.showToast({ |
uni.showToast({ |
||||||
title: "已拒绝授权", |
title: "已拒绝授权", |
||||||
icon: "none", |
icon: "none", |
||||||
duration: 2000 |
duration: 2000 |
||||||
}); |
}); |
||||||
} |
} |
||||||
}, |
}, |
||||||
changeswitch: function(data) { |
changeswitch: function(data) { |
||||||
this.switchActive = data; |
this.switchActive = data; |
||||||
}, |
}, |
||||||
User: function() { |
User: function() { |
||||||
let that = this; |
let that = this; |
||||||
// getUser().then(res => { |
// getUser().then(res => { |
||||||
// that.user = res.data; |
// that.user = res.data; |
||||||
// that.orderStatusNum = res.data.orderStatusNum; |
// that.orderStatusNum = res.data.orderStatusNum; |
||||||
// }); |
// }); |
||||||
}, |
}, |
||||||
MenuUser: function() { |
MenuUser: function() { |
||||||
let that = this; |
let that = this; |
||||||
getMenuUser().then(res => { |
getMenuUser().then(res => { |
||||||
that.MyMenus = res.data.routine_my_menus; |
that.MyMenus = res.data.routine_my_menus; |
||||||
}); |
}); |
||||||
}, |
}, |
||||||
goPages: function(index) { |
goPages: function(index) { |
||||||
let url = this.MyMenus[index].uniapp_url; |
let url = this.MyMenus[index].uniapp_url; |
||||||
if ( |
if ( |
||||||
url === "/pages/user/promotion/UserPromotion/index" && |
url === "/pages/user/promotion/UserPromotion/index" && |
||||||
this.userInfo.statu === 1 |
this.userInfo.statu === 1 |
||||||
) { |
) { |
||||||
if (!this.userInfo.isPromoter) { |
if (!this.userInfo.isPromoter) { |
||||||
uni.showToast({ |
uni.showToast({ |
||||||
title: "您还没有推广权限!!", |
title: "您还没有推广权限!!", |
||||||
icon: "none", |
icon: "none", |
||||||
duration: 2000 |
duration: 2000 |
||||||
}); |
}); |
||||||
return; |
return; |
||||||
} |
} |
||||||
} |
} |
||||||
|
|
||||||
if ( |
if ( |
||||||
url === "/pages/orderAdmin/OrderIndex/index" && |
url === "/pages/orderAdmin/OrderIndex/index" && |
||||||
!this.userInfo.adminid |
!this.userInfo.adminid |
||||||
) { |
) { |
||||||
uni.showToast({ |
uni.showToast({ |
||||||
title: "您还不是管理员!!", |
title: "您还不是管理员!!", |
||||||
icon: "none", |
icon: "none", |
||||||
duration: 2000 |
duration: 2000 |
||||||
}); |
}); |
||||||
return; |
return; |
||||||
} |
} |
||||||
|
|
||||||
this.$yrouter.push({ |
this.$yrouter.push({ |
||||||
path: this.MyMenus[index].uniapp_url |
path: this.MyMenus[index].uniapp_url |
||||||
}); |
}); |
||||||
} |
} |
||||||
}, |
}, |
||||||
watch: { |
watch: { |
||||||
userInfo() { |
userInfo() { |
||||||
this.MenuUser(); |
this.MenuUser(); |
||||||
} |
} |
||||||
}, |
}, |
||||||
onShow() { |
onShow() { |
||||||
console.log(this.$store.getters.token) |
console.log(this.$store.getters.token); |
||||||
console.log(this.userInfo); |
console.log(this.userInfo); |
||||||
if (this.$store.getters.token) { |
if (this.$store.getters.token) { |
||||||
this.User(); |
this.User(); |
||||||
this.MenuUser(); |
this.MenuUser(); |
||||||
this.isWeixin = isWeixin(); |
this.isWeixin = isWeixin(); |
||||||
} |
} |
||||||
} |
} |
||||||
}; |
}; |
||||||
</script> |
</script> |
||||||
|
|
||||||
<style lang="less"> |
<style lang="less"> |
||||||
.footer-line-height { |
.footer-line-height { |
||||||
height: 1*100rpx; |
height: 1 * 100rpx; |
||||||
} |
} |
||||||
|
|
||||||
.order-status-num { |
.order-status-num { |
||||||
min-width: 0.33*100rpx; |
min-width: 0.33 * 100rpx; |
||||||
background-color: #fff; |
background-color: #fff; |
||||||
color: #00c17b; |
color: #00c17b; |
||||||
border-radius: 15px; |
border-radius: 15px; |
||||||
position: absolute; |
position: absolute; |
||||||
right: -0.14*100rpx; |
right: -0.14 * 100rpx; |
||||||
top: -0.15*100rpx; |
top: -0.15 * 100rpx; |
||||||
font-size: 0.2*100rpx; |
font-size: 0.2 * 100rpx; |
||||||
padding: 0 0.08*100rpx; |
padding: 0 0.08 * 100rpx; |
||||||
border: 1px solid #00c17b; |
border: 1px solid #00c17b; |
||||||
} |
} |
||||||
|
|
||||||
.pictrue { |
.pictrue { |
||||||
position: relative; |
position: relative; |
||||||
} |
} |
||||||
|
|
||||||
.switch-h5 { |
.switch-h5 { |
||||||
margin-left: 0.2*100rpx; |
margin-left: 0.2 * 100rpx; |
||||||
} |
} |
||||||
|
|
||||||
.binding { |
.binding { |
||||||
margin-top: 0.1*100rpx; |
margin-top: 0.1 * 100rpx; |
||||||
display: inline-block; |
display: inline-block; |
||||||
padding: 0.05*100rpx 0.2*100rpx; |
padding: 0.05 * 100rpx 0.2 * 100rpx; |
||||||
background-color: #ca1f10; |
background-color: #ca1f10; |
||||||
border-radius: 50px; |
border-radius: 50px; |
||||||
font-size: 0.22*100rpx; |
font-size: 0.22 * 100rpx; |
||||||
line-height: 1.5; |
line-height: 1.5; |
||||||
border: 1px solid #e8695e; |
border: 1px solid #e8695e; |
||||||
color: #ffffff; |
color: #ffffff; |
||||||
} |
} |
||||||
|
|
||||||
.by{ |
.by { |
||||||
text-align:center; |
text-align: center; |
||||||
margin-top: 30rpx |
margin-top: 30rpx; |
||||||
} |
} |
||||||
.by-text{ |
.by-text { |
||||||
text-align:center; |
text-align: center; |
||||||
font-size: 30rpx; |
font-size: 30rpx; |
||||||
} |
} |
||||||
</style> |
</style> |
||||||
|
Loading…
Reference in new issue