Merge branch 'master' of http://git.luyuan.tk/luyuan/deming into xbx
This commit is contained in:
commit
2ec14481fd
1
.gitignore
vendored
1
.gitignore
vendored
@ -2,3 +2,4 @@
|
|||||||
/node_modules/*
|
/node_modules/*
|
||||||
unpackage
|
unpackage
|
||||||
manifest.json
|
manifest.json
|
||||||
|
deming.keystore
|
@ -253,6 +253,10 @@ export default {
|
|||||||
tabLiveList(){
|
tabLiveList(){
|
||||||
return vm.$u.post('Specialci/tabLiveList')
|
return vm.$u.post('Specialci/tabLiveList')
|
||||||
},
|
},
|
||||||
|
// 商城-活动广告
|
||||||
|
getStoreActivity() {
|
||||||
|
return vm.$u.post('adv/storeActivity')
|
||||||
|
},
|
||||||
// 获取图文视频详情
|
// 获取图文视频详情
|
||||||
articleInfo({article_id}){
|
articleInfo({article_id}){
|
||||||
return vm.$u.post('article/articleInfo',{article_id})
|
return vm.$u.post('article/articleInfo',{article_id})
|
||||||
|
@ -270,6 +270,9 @@ export default {
|
|||||||
getOrderEvaluateInfo({ id }) {
|
getOrderEvaluateInfo({ id }) {
|
||||||
return vm.$u.post('Order/getOrderEvaluateInfo', { id: id });
|
return vm.$u.post('Order/getOrderEvaluateInfo', { id: id });
|
||||||
},
|
},
|
||||||
|
orderLogistics({ id }) {
|
||||||
|
return vm.$u.post('Order/orderLogistics', { order_id: id });
|
||||||
|
},
|
||||||
// 订单评价/修改评价
|
// 订单评价/修改评价
|
||||||
updateOrderEvaluate({ id, content, scores_one, scores_two, scores_three, file }) {
|
updateOrderEvaluate({ id, content, scores_one, scores_two, scores_three, file }) {
|
||||||
let params = {
|
let params = {
|
||||||
@ -357,7 +360,39 @@ export default {
|
|||||||
return vm.$u.post('member/sendOrderConfirm', {
|
return vm.$u.post('member/sendOrderConfirm', {
|
||||||
id: id,
|
id: id,
|
||||||
});
|
});
|
||||||
}
|
},
|
||||||
|
// 提交送洗
|
||||||
|
sendLaundrySave({
|
||||||
|
type,
|
||||||
|
tid,
|
||||||
|
condition,
|
||||||
|
member_name,
|
||||||
|
member_phone,
|
||||||
|
area_info,
|
||||||
|
address_info,
|
||||||
|
goods_name,
|
||||||
|
order_id,
|
||||||
|
goods_id,
|
||||||
|
goods_images,
|
||||||
|
}) {
|
||||||
|
return vm.$u.post('member/sendLaundrySave', {
|
||||||
|
type: type,
|
||||||
|
tid: tid,
|
||||||
|
condition: condition,
|
||||||
|
member_name: member_name,
|
||||||
|
member_phone: member_phone,
|
||||||
|
area_info: area_info,
|
||||||
|
address_info: address_info,
|
||||||
|
goods_name: goods_name,
|
||||||
|
order_id: order_id,
|
||||||
|
goods_id: goods_id,
|
||||||
|
goods_images: goods_images,
|
||||||
|
});
|
||||||
|
},
|
||||||
|
// 送洗评论列表
|
||||||
|
sendCommentList() {
|
||||||
|
return vm.$u.post('member/sendCommentList');
|
||||||
|
},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -1,5 +1,9 @@
|
|||||||
import Vue from 'vue'
|
import Vue from 'vue'
|
||||||
import Vuex from 'vuex'
|
import Vuex from 'vuex'
|
||||||
|
import {
|
||||||
|
mapMutations
|
||||||
|
} from 'vuex';
|
||||||
|
|
||||||
Vue.use(Vuex)
|
Vue.use(Vuex)
|
||||||
|
|
||||||
const store = new Vuex.Store({
|
const store = new Vuex.Store({
|
||||||
@ -12,10 +16,12 @@ const store = new Vuex.Store({
|
|||||||
pintuangroup_headid: '', // 拼团团长id 有为开团 无为参团
|
pintuangroup_headid: '', // 拼团团长id 有为开团 无为参团
|
||||||
groupbuyInfo: {}, // 秒杀详情
|
groupbuyInfo: {}, // 秒杀详情
|
||||||
loadmore: {}, // 下拉加载返回的数据
|
loadmore: {}, // 下拉加载返回的数据
|
||||||
|
hasLogin: false, // 登录状态
|
||||||
|
token: "" // 储存token
|
||||||
},
|
},
|
||||||
getters: {
|
getters: {
|
||||||
getOrderAddress(state) {
|
getOrderAddress(state) {
|
||||||
return state.orderAddress;
|
return state.orderAddress || {};
|
||||||
},
|
},
|
||||||
getGoodsType(state) {
|
getGoodsType(state) {
|
||||||
return state.goodsDetails.type;
|
return state.goodsDetails.type;
|
||||||
@ -25,6 +31,23 @@ const store = new Vuex.Store({
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
mutations: {
|
mutations: {
|
||||||
|
// 登录
|
||||||
|
loginIn(state, token) {
|
||||||
|
state.hasLogin = true;
|
||||||
|
state.token = token;
|
||||||
|
uni.setStorage({
|
||||||
|
key: "token",
|
||||||
|
data: token
|
||||||
|
})
|
||||||
|
},
|
||||||
|
// 退出登录
|
||||||
|
logout(state) {
|
||||||
|
state.hasLogin = false;
|
||||||
|
state.token = "";
|
||||||
|
uni.removeStorage({
|
||||||
|
key: "token"
|
||||||
|
})
|
||||||
|
},
|
||||||
setOrderType(state, type) {
|
setOrderType(state, type) {
|
||||||
state.orderType = type;
|
state.orderType = type;
|
||||||
},
|
},
|
||||||
@ -48,7 +71,7 @@ const store = new Vuex.Store({
|
|||||||
},
|
},
|
||||||
setLoadMore(state, info) {
|
setLoadMore(state, info) {
|
||||||
state.loadmore = info;
|
state.loadmore = info;
|
||||||
},
|
}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
export default store;
|
export default store;
|
@ -118,19 +118,11 @@ export default {
|
|||||||
// latitude,
|
// latitude,
|
||||||
}).then((res)=>{
|
}).then((res)=>{
|
||||||
if (res.errCode == 0) {
|
if (res.errCode == 0) {
|
||||||
uni.redirectTo({
|
this.$refs.uToast.show({
|
||||||
url: '/pageE/more/Address'
|
title: res.message,
|
||||||
});
|
type: 'success',
|
||||||
// this.$refs.uToast.show({
|
back: true,
|
||||||
// title: res.message,
|
})
|
||||||
// type: 'success',
|
|
||||||
// // url: '/pageE/more/Address',
|
|
||||||
// callback() {
|
|
||||||
// uni.redirectTo({
|
|
||||||
// url: '/pageE/more/Address'
|
|
||||||
// });
|
|
||||||
// }
|
|
||||||
// })
|
|
||||||
} else {
|
} else {
|
||||||
this.showToast(res.message, 'warning');
|
this.showToast(res.message, 'warning');
|
||||||
}
|
}
|
||||||
|
@ -1,13 +1,13 @@
|
|||||||
<template>
|
<template>
|
||||||
<view class="comment">
|
<view class="comment">
|
||||||
<view class="user-info">
|
<view class="user-info">
|
||||||
<image src="@/pageE/static/mine/23.png" class="user-avatar"></image>
|
<image :src="info.member_avatar" class="user-avatar"></image>
|
||||||
<view class="user-name">***雪</view>
|
<view class="user-name">{{ info.member_nickname }}</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="user-comment">
|
<view class="user-comment">
|
||||||
<view class="text u-line-2">宝贝收到了和卖家描述的一样,质量不错,很漂亮一直想买这样的杯子,这个蓝色的稍微有点小瑕疵,不过自己用没问题没问题没问题</view>
|
<view class="text u-line-2">{{ info.comment }}</view>
|
||||||
<view class="image">
|
<view class="image">
|
||||||
<image v-for="(src, index) in ImageList" :key="index" :src="src" mode="aspectFit"></image>
|
<image v-for="(src, index) in info.images" :key="index" :src="src" mode="aspectFit"></image>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
@ -15,14 +15,10 @@
|
|||||||
<script>
|
<script>
|
||||||
export default {
|
export default {
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {}
|
||||||
ImageList: [
|
},
|
||||||
require('@/pageE/static/mine/23.png'),
|
props: {
|
||||||
require('@/pageE/static/mine/23.png'),
|
info: Object,
|
||||||
require('@/pageE/static/mine/23.png'),
|
|
||||||
require('@/pageE/static/mine/23.png')
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
@ -13,7 +13,7 @@
|
|||||||
</swiper-item>
|
</swiper-item>
|
||||||
</swiper>
|
</swiper>
|
||||||
<!-- 加载更多 -->
|
<!-- 加载更多 -->
|
||||||
<u-loadmore :status="loadStatus" bgColor="#FFF" margin-top="20" margin-bottom="20"></u-loadmore>
|
<u-loadmore :status="loadStatus" bgColor="#FFF" margin-top="20" margin-bottom="20" @loadmore="loadMore" v-if="goodsList.length>=pageSize"></u-loadmore>
|
||||||
</view>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
@ -22,6 +22,7 @@ export default {
|
|||||||
name:"list",
|
name:"list",
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
|
pageSize: 12,
|
||||||
current: -1,
|
current: -1,
|
||||||
swiperCurrent: 0,
|
swiperCurrent: 0,
|
||||||
goodsList: [],
|
goodsList: [],
|
||||||
@ -60,7 +61,7 @@ export default {
|
|||||||
this.page--;
|
this.page--;
|
||||||
this.loadStatus = 'nomore';
|
this.loadStatus = 'nomore';
|
||||||
} else {
|
} else {
|
||||||
this.loadStatus = 'loading';
|
this.loadStatus = 'loadmore';
|
||||||
}
|
}
|
||||||
}).catch(() => {
|
}).catch(() => {
|
||||||
this.loadStatus = "nomore";
|
this.loadStatus = "nomore";
|
||||||
@ -82,6 +83,7 @@ export default {
|
|||||||
gc_id: gc_id,
|
gc_id: gc_id,
|
||||||
})
|
})
|
||||||
if (res.errCode == 0) {
|
if (res.errCode == 0) {
|
||||||
|
this.timer = true;
|
||||||
if(reload) this.goodsList = res.data.goodsList;
|
if(reload) this.goodsList = res.data.goodsList;
|
||||||
else this.goodsList.push(...res.data.goodsList);
|
else this.goodsList.push(...res.data.goodsList);
|
||||||
// console.log(this.goodsList);
|
// console.log(this.goodsList);
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name" : "deming",
|
"name" : "deming",
|
||||||
"appid" : "__UNI__62A680B",
|
"appid" : "__UNI__EBFF00A",
|
||||||
"description" : "",
|
"description" : "",
|
||||||
"versionName" : "1.0.0",
|
"versionName" : "1.0.0",
|
||||||
"versionCode" : "100",
|
"versionCode" : "100",
|
||||||
@ -18,7 +18,12 @@
|
|||||||
},
|
},
|
||||||
/* 模块配置 */
|
/* 模块配置 */
|
||||||
"modules" : {
|
"modules" : {
|
||||||
"OAuth" : {}
|
"OAuth" : {},
|
||||||
|
"Share" : {},
|
||||||
|
"Push" : {},
|
||||||
|
"Maps" : {},
|
||||||
|
"LivePusher" : {},
|
||||||
|
"Payment" : {}
|
||||||
},
|
},
|
||||||
/* 应用发布信息 */
|
/* 应用发布信息 */
|
||||||
"distribute" : {
|
"distribute" : {
|
||||||
@ -37,6 +42,7 @@
|
|||||||
"<uses-permission android:name=\"android.permission.CHANGE_WIFI_STATE\"/>",
|
"<uses-permission android:name=\"android.permission.CHANGE_WIFI_STATE\"/>",
|
||||||
"<uses-permission android:name=\"android.permission.FLASHLIGHT\"/>",
|
"<uses-permission android:name=\"android.permission.FLASHLIGHT\"/>",
|
||||||
"<uses-permission android:name=\"android.permission.GET_ACCOUNTS\"/>",
|
"<uses-permission android:name=\"android.permission.GET_ACCOUNTS\"/>",
|
||||||
|
"<uses-permission android:name=\"android.permission.INTERNET\"/>",
|
||||||
"<uses-permission android:name=\"android.permission.MODIFY_AUDIO_SETTINGS\"/>",
|
"<uses-permission android:name=\"android.permission.MODIFY_AUDIO_SETTINGS\"/>",
|
||||||
"<uses-permission android:name=\"android.permission.MOUNT_UNMOUNT_FILESYSTEMS\"/>",
|
"<uses-permission android:name=\"android.permission.MOUNT_UNMOUNT_FILESYSTEMS\"/>",
|
||||||
"<uses-permission android:name=\"android.permission.READ_CONTACTS\"/>",
|
"<uses-permission android:name=\"android.permission.READ_CONTACTS\"/>",
|
||||||
@ -46,6 +52,7 @@
|
|||||||
"<uses-permission android:name=\"android.permission.VIBRATE\"/>",
|
"<uses-permission android:name=\"android.permission.VIBRATE\"/>",
|
||||||
"<uses-permission android:name=\"android.permission.WAKE_LOCK\"/>",
|
"<uses-permission android:name=\"android.permission.WAKE_LOCK\"/>",
|
||||||
"<uses-permission android:name=\"android.permission.WRITE_CONTACTS\"/>",
|
"<uses-permission android:name=\"android.permission.WRITE_CONTACTS\"/>",
|
||||||
|
"<uses-permission android:name=\"android.permission.WRITE_EXTERNAL_STORAGE\"/>",
|
||||||
"<uses-permission android:name=\"android.permission.WRITE_SETTINGS\"/>"
|
"<uses-permission android:name=\"android.permission.WRITE_SETTINGS\"/>"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
@ -58,7 +65,14 @@
|
|||||||
"qq" : {
|
"qq" : {
|
||||||
"appid" : "101884160"
|
"appid" : "101884160"
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"maps" : {
|
||||||
|
"amap" : {
|
||||||
|
"appkey_ios" : "eafe430aa31fa033dcf45a0e87032653",
|
||||||
|
"appkey_android" : "8045e8a4cd6d544690c786265b248f91"
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"share" : {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -8,11 +8,11 @@
|
|||||||
<view class="title">手机登录</view>
|
<view class="title">手机登录</view>
|
||||||
<view class="labales">
|
<view class="labales">
|
||||||
<!-- <text></text> -->
|
<!-- <text></text> -->
|
||||||
<input type="tel" placeholder="请输入您的手机号" v-model="member_mobile" />
|
<input type="tel" placeholder="请输入您的手机号" maxlength="11" v-model="member_mobile" />
|
||||||
</view>
|
</view>
|
||||||
<view class="labales">
|
<view class="labales">
|
||||||
<!-- <text></text> -->
|
<!-- <text></text> -->
|
||||||
<input type="tel" placeholder="请输入验证码" v-model="sms_code" />
|
<input type="number" placeholder="请输入验证码" maxlength="6" v-model="sms_code" />
|
||||||
<!-- <text class="identifying" @click="getCode">{{text}}</text> -->
|
<!-- <text class="identifying" @click="getCode">{{text}}</text> -->
|
||||||
<identifying @tochange="tochange" :smslog_type="smslog_type" :member_mobile="member_mobile"></identifying>
|
<identifying @tochange="tochange" :smslog_type="smslog_type" :member_mobile="member_mobile"></identifying>
|
||||||
</view>
|
</view>
|
||||||
@ -22,7 +22,8 @@
|
|||||||
<view>
|
<view>
|
||||||
<view></view>
|
<view></view>
|
||||||
<text>我已详细阅读并同意</text>
|
<text>我已详细阅读并同意</text>
|
||||||
<text class="pact_text" v-for="(item,index) in pact_text" :key="index" @click="pact_click(index)"> {{item.text}} </text>
|
<text class="pact_text" v-for="(item,index) in pact_text" :key="index" @click="pact_click(index)"> {{item.text}}
|
||||||
|
</text>
|
||||||
</view>
|
</view>
|
||||||
<u-checkbox-group @change="checkboxGroupChange" size="27">
|
<u-checkbox-group @change="checkboxGroupChange" size="27">
|
||||||
<u-checkbox @change="checkboxChange" v-model="item.checked" v-for="(item, index) in list" :key="index" :name="item.name"
|
<u-checkbox @change="checkboxChange" v-model="item.checked" v-for="(item, index) in list" :key="index" :name="item.name"
|
||||||
@ -60,6 +61,7 @@
|
|||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
import identifying from '@/components/logininput/identifying'
|
import identifying from '@/components/logininput/identifying'
|
||||||
|
import { mapMutations } from 'vuex';
|
||||||
export default {
|
export default {
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
@ -96,9 +98,10 @@
|
|||||||
},
|
},
|
||||||
onLoad() {
|
onLoad() {
|
||||||
// 数据的请求
|
// 数据的请求
|
||||||
this.apiwelcome()
|
this.apiwelcome();
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
...mapMutations(['loginIn']),
|
||||||
apiwelcome() {
|
apiwelcome() {
|
||||||
this.$u.api.sendSmsCode({
|
this.$u.api.sendSmsCode({
|
||||||
|
|
||||||
@ -107,7 +110,7 @@
|
|||||||
})
|
})
|
||||||
},
|
},
|
||||||
// 协议跳转
|
// 协议跳转
|
||||||
pact_click(index){
|
pact_click(index) {
|
||||||
console.log(index)
|
console.log(index)
|
||||||
uni.navigateTo({
|
uni.navigateTo({
|
||||||
url: '/pageA/pactList/pactList?index=' + index
|
url: '/pageA/pactList/pactList?index=' + index
|
||||||
@ -115,6 +118,7 @@
|
|||||||
},
|
},
|
||||||
// 用户登录
|
// 用户登录
|
||||||
loginOn() {
|
loginOn() {
|
||||||
|
let me = this;
|
||||||
// uni.navigateTo({
|
// uni.navigateTo({
|
||||||
// url: '/pageE/zhibo/index'
|
// url: '/pageE/zhibo/index'
|
||||||
// });
|
// });
|
||||||
@ -123,8 +127,8 @@
|
|||||||
// console.log(this.sms_code)
|
// console.log(this.sms_code)
|
||||||
// 判断手机号是否为空
|
// 判断手机号是否为空
|
||||||
// 校验手机号
|
// 校验手机号
|
||||||
let type_phone = this.$u.test.mobile( this.member_mobile)
|
let type_phone = this.$u.test.mobile(this.member_mobile)
|
||||||
if( this.member_mobile == ''){
|
if (this.member_mobile == '') {
|
||||||
this.$refs.uToast.show({
|
this.$refs.uToast.show({
|
||||||
title: '手机号不能为空',
|
title: '手机号不能为空',
|
||||||
type: 'error'
|
type: 'error'
|
||||||
@ -138,7 +142,7 @@
|
|||||||
});
|
});
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
if( this.sms_code == ''){
|
if (this.sms_code == '') {
|
||||||
this.$refs.uToast.show({
|
this.$refs.uToast.show({
|
||||||
title: '验证码不能为空',
|
title: '验证码不能为空',
|
||||||
type: 'error'
|
type: 'error'
|
||||||
@ -152,16 +156,16 @@
|
|||||||
console.log(res)
|
console.log(res)
|
||||||
// console.log(res)
|
// console.log(res)
|
||||||
if (res.errCode == 0) {
|
if (res.errCode == 0) {
|
||||||
if(res.data == ''){
|
if (res.data == '') {
|
||||||
this.$refs.uToast.show({
|
this.$refs.uToast.show({
|
||||||
title: res.message,
|
title: res.message,
|
||||||
type: 'error'
|
type: 'error'
|
||||||
})
|
})
|
||||||
return false
|
return false
|
||||||
}else{
|
} else {
|
||||||
uni.setStorageSync('token', res.data.token);//存储一个字符传值
|
me.loginIn(res.data.token); //存储一个字符传值
|
||||||
uni.navigateTo({
|
uni.navigateTo({
|
||||||
url : '/pageA/topick/topick'
|
url: '/pageA/topick/topick'
|
||||||
})
|
})
|
||||||
// 缓存用户的信息
|
// 缓存用户的信息
|
||||||
// uni.setStorageSync({
|
// uni.setStorageSync({
|
||||||
@ -178,7 +182,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 存储接口请求所需token
|
// 存储接口请求所需token
|
||||||
uni.setStorageSync('token', res.data.token);//存储一个字符传值
|
me.loginIn(res.data.token); //存储一个字符传值
|
||||||
// // 注册返回参数
|
// // 注册返回参数
|
||||||
// this.$refs.uToast.show({
|
// this.$refs.uToast.show({
|
||||||
// title: res.message,
|
// title: res.message,
|
||||||
@ -196,7 +200,7 @@
|
|||||||
},
|
},
|
||||||
// qq授权登录
|
// qq授权登录
|
||||||
rect_qq() {
|
rect_qq() {
|
||||||
console.log("授权Q")
|
console.log("授权QQ")
|
||||||
var vm = this;
|
var vm = this;
|
||||||
uni.getProvider({
|
uni.getProvider({
|
||||||
service: 'oauth',
|
service: 'oauth',
|
||||||
@ -296,10 +300,12 @@
|
|||||||
width: 630rpx;
|
width: 630rpx;
|
||||||
margin: 0 auto;
|
margin: 0 auto;
|
||||||
}
|
}
|
||||||
.u-checkbox__icon-wrap .u-icon{
|
|
||||||
width: 26rpx!important;
|
.u-checkbox__icon-wrap .u-icon {
|
||||||
|
width: 26rpx !important;
|
||||||
height: 26rpx;
|
height: 26rpx;
|
||||||
}
|
}
|
||||||
|
|
||||||
.more_Login text {
|
.more_Login text {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
width: 50%;
|
width: 50%;
|
||||||
@ -397,7 +403,7 @@
|
|||||||
height: 22rpx;
|
height: 22rpx;
|
||||||
}
|
}
|
||||||
|
|
||||||
.buttones > view {
|
.buttones>view {
|
||||||
width: 628rpx;
|
width: 628rpx;
|
||||||
height: 98rpx;
|
height: 98rpx;
|
||||||
background: rgba(255, 120, 15, 1) !important;
|
background: rgba(255, 120, 15, 1) !important;
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<scroll-view scroll-y class="comment" @scrolltolower="loadMore">
|
<scroll-view scroll-y class="comment" @scrolltolower="loadMore">
|
||||||
<view class="label-list">
|
<view class="label-list">
|
||||||
<view v-for="(label, index) in evaluateSpec" :key="index" :class="{'active': current == index}" @click="current=index">{{ index + '(' + label + '}' }}</view>
|
<view v-for="(label, index) in evaluateSpec" :key="index" :class="{'active': current == index}" @click="current=index">{{ index + '(' + label + ')' }}</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="comment-container">
|
<view class="comment-container">
|
||||||
<view v-for="(item, index) in evalueList" :key="index" class="itme">
|
<view v-for="(item, index) in evalueList" :key="index" class="itme">
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<view class="photo">
|
<view class="photo">
|
||||||
<view class="back">
|
<view class="back">
|
||||||
<image></image>
|
<u-icon name="close" color="#999999" :size="30"></u-icon>
|
||||||
</view>
|
</view>
|
||||||
<swiper class="swiper">
|
<swiper class="swiper">
|
||||||
<swiper-item>
|
<swiper-item>
|
||||||
@ -34,11 +34,7 @@
|
|||||||
.back{
|
.back{
|
||||||
padding-top: 28rpx;
|
padding-top: 28rpx;
|
||||||
padding-right: 31rpx;
|
padding-right: 31rpx;
|
||||||
>image{
|
text-align: right;
|
||||||
width: 31rpx;
|
|
||||||
height: 31rpx;
|
|
||||||
float: right;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
.swiper{
|
.swiper{
|
||||||
width: 100%;
|
width: 100%;
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
<template>
|
<template>
|
||||||
<view class="order">
|
<view class="order">
|
||||||
<view class="info-address" @click="changeAddress">
|
<view class="info-address" @click="changeAddress" v-if="JSON.stringify(addressInfo) != '{}'">
|
||||||
<image src="../static/image/2.png" class="address-icon"></image>
|
<image src="../static/image/2.png" class="address-icon"></image>
|
||||||
<view class="address">
|
<view class="address">
|
||||||
<view class="user-info">
|
<view class="user-info">
|
||||||
@ -11,6 +11,7 @@
|
|||||||
</view>
|
</view>
|
||||||
<image src="../static/image/1.png" class="right"></image>
|
<image src="../static/image/1.png" class="right"></image>
|
||||||
</view>
|
</view>
|
||||||
|
<view v-else class="address-none" @click="changeAddress">请选择地址</view>
|
||||||
<view class="main">
|
<view class="main">
|
||||||
<view v-for="(item, index) in orderInfo.store_cart_list" :key="index">
|
<view v-for="(item, index) in orderInfo.store_cart_list" :key="index">
|
||||||
<view class="goods-info">
|
<view class="goods-info">
|
||||||
@ -147,17 +148,18 @@ export default {
|
|||||||
this.orderType = this.$store.state.orderType;
|
this.orderType = this.$store.state.orderType;
|
||||||
this.orderInfo = this.$store.state.orderInfo;
|
this.orderInfo = this.$store.state.orderInfo;
|
||||||
// console.log(this.orderType);
|
// console.log(this.orderType);
|
||||||
console.log(this.orderInfo);
|
// console.log(this.orderInfo);
|
||||||
this.getGoodsClass();
|
this.getGoodsClass();
|
||||||
|
this.setTotalPrice();
|
||||||
},
|
},
|
||||||
onShow() {
|
onShow() {
|
||||||
this.storeCoupon = {};
|
this.storeCoupon = {};
|
||||||
this.choiceCoupon = {};
|
this.choiceCoupon = {};
|
||||||
// 判断是不是从选择地址页面返回
|
// 判断是不是从选择地址页面返回
|
||||||
if(JSON.stringify(this.$store.state.orderAddress) == '{}') {
|
if(JSON.stringify(this.$store.state.orderAddress) == '{}') {
|
||||||
this.$store.commit('updateAddress', this.orderInfo.address_info);
|
if(this.orderInfo.address_info) this.$store.commit('updateAddress', this.orderInfo.address_info);
|
||||||
} else {
|
} else {
|
||||||
this.addressInfo = this.$store.state.orderAddress;
|
if(this.$store.getters.getOrderAddress) this.addressInfo = this.$store.state.orderAddress;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
beforeDestroy() {
|
beforeDestroy() {
|
||||||
@ -166,22 +168,8 @@ export default {
|
|||||||
watch: {
|
watch: {
|
||||||
'$store.state.orderAddress'(value) {
|
'$store.state.orderAddress'(value) {
|
||||||
this.addressInfo = value;
|
this.addressInfo = value;
|
||||||
this.getFreight();
|
if(JSON.stringify(value) != '{}') this.getFreight();
|
||||||
},
|
},
|
||||||
// storeCoupon: {
|
|
||||||
// deep: true,
|
|
||||||
// handler() {
|
|
||||||
// console.log(222);
|
|
||||||
// this.setTotalPrice(); // 计算总价
|
|
||||||
// }
|
|
||||||
// },
|
|
||||||
// choiceCoupon: {
|
|
||||||
// deep: true,
|
|
||||||
// handler() {
|
|
||||||
// console.log(111);
|
|
||||||
// this.setTotalPrice(); // 计算总价
|
|
||||||
// }
|
|
||||||
// },
|
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
// 如果有pintuangroup_headid为参团不然为开团
|
// 如果有pintuangroup_headid为参团不然为开团
|
||||||
@ -242,6 +230,11 @@ export default {
|
|||||||
if(JSON.stringify(this.choiceCoupon) != '{}') {
|
if(JSON.stringify(this.choiceCoupon) != '{}') {
|
||||||
coupon.push(0 + '|' + this.choiceCoupon.voucher_id)
|
coupon.push(0 + '|' + this.choiceCoupon.voucher_id)
|
||||||
}
|
}
|
||||||
|
// 验证是否选择地址
|
||||||
|
if(!this.addressInfo || JSON.stringify(this.addressInfo) == '{}') {
|
||||||
|
this.$u.toast('收货地址不能为空');
|
||||||
|
return false;
|
||||||
|
}
|
||||||
let params = {
|
let params = {
|
||||||
ifcart: ifcart,
|
ifcart: ifcart,
|
||||||
cart_id: id,
|
cart_id: id,
|
||||||
@ -304,6 +297,7 @@ export default {
|
|||||||
},
|
},
|
||||||
setTotalPrice() {
|
setTotalPrice() {
|
||||||
const goods = this.orderInfo.store_goods_total;
|
const goods = this.orderInfo.store_goods_total;
|
||||||
|
console.log(this.freight);
|
||||||
const freight = this.freight;
|
const freight = this.freight;
|
||||||
let price = 0;
|
let price = 0;
|
||||||
// 商品价格加上运费
|
// 商品价格加上运费
|
||||||
@ -398,6 +392,14 @@ export default {
|
|||||||
height: 22rpx;
|
height: 22rpx;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
.address-none {
|
||||||
|
height: 150rpx;
|
||||||
|
line-height: 150rpx;
|
||||||
|
margin-bottom: 10rpx;
|
||||||
|
background:rgba(255,255,255,1);
|
||||||
|
text-align: center;
|
||||||
|
color: #333;
|
||||||
|
}
|
||||||
.main {
|
.main {
|
||||||
margin-bottom: 50rpx;
|
margin-bottom: 50rpx;
|
||||||
> view {
|
> view {
|
||||||
|
@ -5,9 +5,9 @@
|
|||||||
</view>
|
</view>
|
||||||
<swiper :current="swiperCurrent" @transition="transition" @animationfinish="animationfinish" :style="{height: swiperHeight}">
|
<swiper :current="swiperCurrent" @transition="transition" @animationfinish="animationfinish" :style="{height: swiperHeight}">
|
||||||
<swiper-item class="swiper-item" v-for="(_, index) in tabList" :key="index">
|
<swiper-item class="swiper-item" v-for="(_, index) in tabList" :key="index">
|
||||||
<scroll-view scroll-y style="height: 800rpx;width: 100%;" @scrolltolower="onreachBottom">
|
<scroll-view scroll-y style="width: 100%;" @scrolltolower="onreachBottom">
|
||||||
<SpecialGoods v-for="(item, index) in pinTuanList" :key="index" :item="item" type='group'></SpecialGoods>
|
<SpecialGoods v-for="(item, index) in pinTuanList" :key="index" :item="item" type='group'></SpecialGoods>
|
||||||
<loadmore ref="loadmore" @callback="getPinTuanList" bgColor="#FFF"></loadmore>
|
<u-loadmore :status="loadStatus" bgColor="#FFF" margin-top="20" margin-bottom="20" v-if="pinTuanList.length>=pageSize" @loadmore="onreachBottom"></u-loadmore>
|
||||||
<u-empty text="暂无商品" mode="list" color="#000" v-if="!pinTuanList.length"></u-empty>
|
<u-empty text="暂无商品" mode="list" color="#000" v-if="!pinTuanList.length"></u-empty>
|
||||||
</scroll-view>
|
</scroll-view>
|
||||||
</swiper-item>
|
</swiper-item>
|
||||||
@ -15,22 +15,22 @@
|
|||||||
</view>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
import loadmore from "@/components/loadmore/index";
|
|
||||||
import SpecialGoods from "../../components/shop/special-shop/index";
|
import SpecialGoods from "../../components/shop/special-shop/index";
|
||||||
export default {
|
export default {
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
|
pageSize: 12,
|
||||||
tabList: [],
|
tabList: [],
|
||||||
current: -1,
|
current: -1,
|
||||||
swiperCurrent: 0,
|
swiperCurrent: 0,
|
||||||
page: 0,
|
page: 0,
|
||||||
pinTuanList: [],
|
pinTuanList: [],
|
||||||
swiperHeight: '',
|
swiperHeight: '',
|
||||||
timer: '', // 限制下拉刷新
|
timer: true, // 限制下拉刷新
|
||||||
|
loadStatus: 'loadmore',
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
components: {
|
components: {
|
||||||
loadmore,
|
|
||||||
SpecialGoods,
|
SpecialGoods,
|
||||||
},
|
},
|
||||||
onLoad() {
|
onLoad() {
|
||||||
@ -39,7 +39,7 @@ export default {
|
|||||||
},
|
},
|
||||||
watch: {
|
watch: {
|
||||||
current(index) {
|
current(index) {
|
||||||
this.getPinTuanList({ id: this.tabList[index].gc_id });
|
this.getPinTuanList({ id: this.tabList[index].gc_id, load: 'reload' });
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
@ -53,14 +53,39 @@ export default {
|
|||||||
})
|
})
|
||||||
},
|
},
|
||||||
// 拼团列表
|
// 拼团列表
|
||||||
async getPinTuanList({ id, page }) {
|
async getPinTuanList({ id, page, load }) {
|
||||||
const res = await this.$u.api.getPinTuanList({
|
const res = await this.$u.api.getPinTuanList({
|
||||||
page: this.page,
|
page: this.page,
|
||||||
gc_id: id,
|
gc_id: id,
|
||||||
})
|
})
|
||||||
this.pinTuanList = res.data;
|
this.timer = true;
|
||||||
|
if (res.errCode == 0) {
|
||||||
|
if(load == 'reload') this.pinTuanList = res.data;
|
||||||
|
else if(load == 'loadmore') this.pinTuanList.push(...res.data);
|
||||||
|
}
|
||||||
return res.data.length;
|
return res.data.length;
|
||||||
},
|
},
|
||||||
|
// scroll-view到底部加载更多
|
||||||
|
onreachBottom() {
|
||||||
|
if(!this.timer) return false;
|
||||||
|
this.loadStatus = "loading";
|
||||||
|
this.page++;
|
||||||
|
this.getPinTuanList({
|
||||||
|
id: this.tabList[this.current].gc_id,
|
||||||
|
load: 'loadmore',
|
||||||
|
}).then(length => {
|
||||||
|
console.log(length);
|
||||||
|
if(length == 0) {
|
||||||
|
this.page--;
|
||||||
|
this.loadStatus = 'nomore';
|
||||||
|
} else {
|
||||||
|
this.loadStatus = 'loadmore';
|
||||||
|
}
|
||||||
|
}).catch(() => {
|
||||||
|
this.loadStatus = "nomore";
|
||||||
|
this.page--;
|
||||||
|
})
|
||||||
|
},
|
||||||
// tabs通知swiper切换
|
// tabs通知swiper切换
|
||||||
tabsChange(index) {
|
tabsChange(index) {
|
||||||
this.swiperCurrent = index;
|
this.swiperCurrent = index;
|
||||||
@ -77,24 +102,6 @@ export default {
|
|||||||
this.swiperCurrent = current;
|
this.swiperCurrent = current;
|
||||||
this.current = current;
|
this.current = current;
|
||||||
},
|
},
|
||||||
// scroll-view到底部加载更多
|
|
||||||
onreachBottom() {
|
|
||||||
this.$$refs.loadmore.reachBottom();
|
|
||||||
if(!this.timer) return false;
|
|
||||||
this.loadStatus = "loading";
|
|
||||||
this.page++;
|
|
||||||
this.getPinTuanList().then(length => {
|
|
||||||
if(length == 0) {
|
|
||||||
this.page--;
|
|
||||||
this.status = 'nomore';
|
|
||||||
} else {
|
|
||||||
this.status = 'loading';
|
|
||||||
}
|
|
||||||
}).catch(() => {
|
|
||||||
this.loadStatus = "nomore";
|
|
||||||
this.page--;
|
|
||||||
})
|
|
||||||
},
|
|
||||||
setViewHeight() {
|
setViewHeight() {
|
||||||
const res = uni.getSystemInfoSync();
|
const res = uni.getSystemInfoSync();
|
||||||
this.swiperHeight = res.windowHeight - (88 / 2) + 'px';
|
this.swiperHeight = res.windowHeight - (88 / 2) + 'px';
|
||||||
|
@ -67,6 +67,34 @@ export default {
|
|||||||
onLoad() {
|
onLoad() {
|
||||||
this.getUserInfo();
|
this.getUserInfo();
|
||||||
},
|
},
|
||||||
|
// 监听头像裁剪
|
||||||
|
created() {
|
||||||
|
// uni.$on('uAvatarCropper', path => {
|
||||||
|
// const url = this.$u.http.config.baseUrl + '/Upload/uploadfile';
|
||||||
|
// this.avatar = path;
|
||||||
|
// // 可以在此上传到服务端
|
||||||
|
// // uni.uploadFile({
|
||||||
|
// // url: 'http://www.example.com/upload',
|
||||||
|
// // filePath: path,
|
||||||
|
// // name: 'file',
|
||||||
|
// // complete: (res) => {
|
||||||
|
// // console.log(res);
|
||||||
|
// // }
|
||||||
|
// // });
|
||||||
|
// common.uploadFile({
|
||||||
|
// url: url,
|
||||||
|
// name: 'avatar',
|
||||||
|
// filePath: path
|
||||||
|
// }).then(result => {
|
||||||
|
// // console.log(result);
|
||||||
|
// this.$set(this, 'avatar', result.file_path);
|
||||||
|
// // this.avatar = result.file_path;
|
||||||
|
// this.uploadPath = result.file_name;
|
||||||
|
// }, error => {
|
||||||
|
// this.$u.toast(error);
|
||||||
|
// })
|
||||||
|
// })
|
||||||
|
},
|
||||||
onNavigationBarButtonTap(e) {
|
onNavigationBarButtonTap(e) {
|
||||||
if( e.index == 0 ) uni.navigateBack();
|
if( e.index == 0 ) uni.navigateBack();
|
||||||
},
|
},
|
||||||
@ -94,6 +122,17 @@ export default {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
// 头像裁剪
|
||||||
|
// chooseAvatar() {
|
||||||
|
// this.$u.route({
|
||||||
|
// url: '/uview-ui/components/u-avatar-cropper/u-avatar-cropper',
|
||||||
|
// params: {
|
||||||
|
// destWidth: 300,
|
||||||
|
// rectWidth: 200,
|
||||||
|
// fileType: 'jpg',
|
||||||
|
// }
|
||||||
|
// })
|
||||||
|
// },
|
||||||
getUserInfo() {
|
getUserInfo() {
|
||||||
this.$u.api.getMemberInfo().then(res => {
|
this.$u.api.getMemberInfo().then(res => {
|
||||||
if (res.errCode == 0) {
|
if (res.errCode == 0) {
|
||||||
|
@ -3,11 +3,11 @@
|
|||||||
<view class="integral-top">
|
<view class="integral-top">
|
||||||
<view>
|
<view>
|
||||||
<view class="title">总积分</view>
|
<view class="title">总积分</view>
|
||||||
<view class="value">{{ memberInfo.member_points }}</view>
|
<view class="value">{{ memberInfo.member_points || 0 }}</view>
|
||||||
</view>
|
</view>
|
||||||
<view>
|
<view>
|
||||||
<view class="title">经验值</view>
|
<view class="title">经验值</view>
|
||||||
<view class="value">{{ memberInfo.member_exppoints }}</view>
|
<view class="value">{{ memberInfo.member_exppoints || 0 }}</view>
|
||||||
</view>
|
</view>
|
||||||
<view @click="viewProgress">
|
<view @click="viewProgress">
|
||||||
<view class="title">预计进度</view>
|
<view class="title">预计进度</view>
|
||||||
|
@ -3,20 +3,11 @@
|
|||||||
<u-tabs-swiper ref="coupon" :list="couponGroupList" name="gc_name" :is-scroll="true" active-color="#FF780F" :current="couponCurrent" font-size="24" :show-bar="false" @change="couponTabsChange" height="88" ></u-tabs-swiper>
|
<u-tabs-swiper ref="coupon" :list="couponGroupList" name="gc_name" :is-scroll="true" active-color="#FF780F" :current="couponCurrent" font-size="24" :show-bar="false" @change="couponTabsChange" height="88" ></u-tabs-swiper>
|
||||||
<swiper :current="swiperCouponCurrent" @animationfinish="couponAnimationFinish" :style="{ height: swiperHeight }">
|
<swiper :current="swiperCouponCurrent" @animationfinish="couponAnimationFinish" :style="{ height: swiperHeight }">
|
||||||
<swiper-item class="swiper-coupon-item" v-for="(_, i) in couponGroupList" :key="i">
|
<swiper-item class="swiper-coupon-item" v-for="(_, i) in couponGroupList" :key="i">
|
||||||
<scroll-view scroll-y style="height: 100%;">
|
<scroll-view scroll-y style="height: 100%;" @scrolltolower="onreachBottom">
|
||||||
<view v-for="(coupon, index) in couponList" :key="index" class="coupon-item">
|
<view v-for="(coupon, index) in couponList" :key="index" class="coupon-item">
|
||||||
<!-- <img src="../static/mine/23.png" />
|
|
||||||
<view class="coupon-main">
|
|
||||||
<view class="coupon-title">萌店十元优惠券</view>
|
|
||||||
<view class="coupon-date">
|
|
||||||
<img src="../static/mine/26.png" />
|
|
||||||
<view>2020.05.17-2020.06.17</view>
|
|
||||||
</view>
|
|
||||||
<view class="coupon-integral">299积分</view>
|
|
||||||
</view>
|
|
||||||
<view class="coupon-btn">兑换</view> -->
|
|
||||||
<Coupon :couponInfo="coupon" :status='0' :type="0" @exchange="exchangeCoupon($event)"></Coupon>
|
<Coupon :couponInfo="coupon" :status='0' :type="0" @exchange="exchangeCoupon($event)"></Coupon>
|
||||||
</view>
|
</view>
|
||||||
|
<u-loadmore :status="loadStatus" bgColor="#FFF" margin-top="20" margin-bottom="20" v-if="couponList.length>=pageSize" @loadmore="onreachBottom"></u-loadmore>
|
||||||
<u-empty text="暂无优惠券" mode="coupon" color="#000" v-if="!couponList.length"></u-empty>
|
<u-empty text="暂无优惠券" mode="coupon" color="#000" v-if="!couponList.length"></u-empty>
|
||||||
</scroll-view>
|
</scroll-view>
|
||||||
</swiper-item>
|
</swiper-item>
|
||||||
@ -28,6 +19,7 @@ import Coupon from "@/components/mine/coupon/index";
|
|||||||
export default {
|
export default {
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
|
pageSize: 1,
|
||||||
swiperHeight: '',
|
swiperHeight: '',
|
||||||
couponCurrent: 0,
|
couponCurrent: 0,
|
||||||
swiperCouponCurrent: 0,
|
swiperCouponCurrent: 0,
|
||||||
@ -48,20 +40,18 @@ export default {
|
|||||||
watch: {
|
watch: {
|
||||||
couponCurrent(index) {
|
couponCurrent(index) {
|
||||||
const id = this.couponGroupList[index].gc_id;
|
const id = this.couponGroupList[index].gc_id;
|
||||||
this.getCouponList({ gc_id: id });
|
this.getCouponList({ gc_id: id, load: 'reload' });
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
loadMore(page) {
|
onreachBottom() {
|
||||||
if(!this.timer) return false;
|
if(!this.timer) return false;
|
||||||
this.loadStatus = "loading";
|
this.loadStatus = "loading";
|
||||||
this.page++;
|
this.page++;
|
||||||
this.getGoodsRecommend({
|
this.getCouponList({
|
||||||
gc_id: this.classifyList[this.current].gc_id,
|
gc_id: this.couponGroupList[this.couponCurrent].gc_id,
|
||||||
page: this.page,
|
load: 'loadmore',
|
||||||
reload: false,
|
|
||||||
}).then(length => {
|
}).then(length => {
|
||||||
// console.log(length);
|
|
||||||
if(length == 0) {
|
if(length == 0) {
|
||||||
this.page--;
|
this.page--;
|
||||||
this.loadStatus = 'nomore';
|
this.loadStatus = 'nomore';
|
||||||
@ -77,24 +67,24 @@ export default {
|
|||||||
this.$u.api.getGoodsClass().then(res => {
|
this.$u.api.getGoodsClass().then(res => {
|
||||||
if(res.errCode == 0) {
|
if(res.errCode == 0) {
|
||||||
this.couponGroupList = res.data;
|
this.couponGroupList = res.data;
|
||||||
this.getCouponList(this.couponGroupList[0].gc_id);
|
this.getCouponList({ gc_id: this.couponGroupList[0].gc_id, load: 'reload' });
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
getCouponList({ gc_id }) {
|
async getCouponList({ gc_id, load }) {
|
||||||
this.$u.api.getCouponList({
|
const res = await this.$u.api.getCouponList({
|
||||||
page: this.page,
|
page: this.page,
|
||||||
gc_id: gc_id,
|
gc_id: gc_id,
|
||||||
}).then(res => {
|
|
||||||
if(res.errCode == 0) {
|
|
||||||
this.couponList = res.data;
|
|
||||||
} else {
|
|
||||||
this.couponList = [];
|
|
||||||
}
|
|
||||||
})
|
})
|
||||||
|
this.timer = true;
|
||||||
|
if(res.errCode == 0) {
|
||||||
|
if(load == 'reload') this.couponList = res.data;
|
||||||
|
else if(load == 'loadmore') this.couponList.push(...res.data);
|
||||||
|
}
|
||||||
|
return res.data.length;
|
||||||
},
|
},
|
||||||
exchangeCoupon(id) {
|
exchangeCoupon(id) {
|
||||||
console.log(id);
|
// console.log(id);
|
||||||
|
|
||||||
},
|
},
|
||||||
couponTabsChange(index) {
|
couponTabsChange(index) {
|
||||||
|
@ -14,7 +14,7 @@
|
|||||||
@on-uploaded="setImageList"
|
@on-uploaded="setImageList"
|
||||||
>
|
>
|
||||||
<view slot="addBtn" class="slot-btn" hover-class="slot-btn__hover" hover-stay-time="150">
|
<view slot="addBtn" class="slot-btn" hover-class="slot-btn__hover" hover-stay-time="150">
|
||||||
<img src="../static/mine/27.png" />
|
<image src="../static/mine/27.png"></image>
|
||||||
</view>
|
</view>
|
||||||
</u-upload>
|
</u-upload>
|
||||||
</view>
|
</view>
|
||||||
@ -102,7 +102,7 @@ export default {
|
|||||||
background: rgba(236,236,236,1);
|
background: rgba(236,236,236,1);
|
||||||
border-radius: 10rpx;
|
border-radius: 10rpx;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
> img {
|
> image {
|
||||||
margin-top: 48rpx;
|
margin-top: 48rpx;
|
||||||
width: 54rpx;
|
width: 54rpx;
|
||||||
height: 49rpx;
|
height: 49rpx;
|
||||||
|
@ -10,7 +10,7 @@
|
|||||||
:auto-upload="false"
|
:auto-upload="false"
|
||||||
>
|
>
|
||||||
<view slot="addBtn" class="slot-btn" hover-class="slot-btn__hover" hover-stay-time="150">
|
<view slot="addBtn" class="slot-btn" hover-class="slot-btn__hover" hover-stay-time="150">
|
||||||
<img src="../static/mine/27.png" />
|
<image src="../static/mine/27.png"></image>
|
||||||
</view>
|
</view>
|
||||||
</u-upload>
|
</u-upload>
|
||||||
</view>
|
</view>
|
||||||
@ -94,7 +94,7 @@ export default {
|
|||||||
background: rgba(236,236,236,1);
|
background: rgba(236,236,236,1);
|
||||||
border-radius: 10rpx;
|
border-radius: 10rpx;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
> img {
|
> image {
|
||||||
margin-top: 48rpx;
|
margin-top: 48rpx;
|
||||||
width: 54rpx;
|
width: 54rpx;
|
||||||
height: 49rpx;
|
height: 49rpx;
|
||||||
|
@ -1,20 +1,20 @@
|
|||||||
<template>
|
<template>
|
||||||
<view class="logistics">
|
<view class="logistics">
|
||||||
<view class="logistics-info">
|
<view class="logistics-info">
|
||||||
<view class="express">
|
<!-- <view class="express">
|
||||||
<image src="../static/mine/23.png"></image>
|
<image src="../static/mine/23.png"></image>
|
||||||
<view class="dispatcher-info">
|
<view class="dispatcher-info">
|
||||||
<view>派件员:xxx</view>
|
<view>派件员:xxx</view>
|
||||||
<view>手机:123456789</view>
|
<view>手机:123456789</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view> -->
|
||||||
<view class="express-status">
|
<view class="express-status">
|
||||||
<image src="../static/mine/23.png"></image>
|
<image :src="expressInfo.goods_image"></image>
|
||||||
<view>
|
<view>
|
||||||
<view class="status">物流状态:已签收</view>
|
<view class="status">物流状态:{{ expressInfo.is_check }}</view>
|
||||||
<view>承运来源:百世快递</view>
|
<view>承运来源:{{ expressInfo.express_name || '' }}</view>
|
||||||
<view>运单编号:3253463464777</view>
|
<view>运单编号:{{ expressInfo.shipping_code || '' }}</view>
|
||||||
<view>官方电话:4009-565-656</view>
|
<view>官方电话:{{ expressInfo.express_phone || '' }}</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
@ -22,8 +22,8 @@
|
|||||||
<view class="title">物流跟踪</view>
|
<view class="title">物流跟踪</view>
|
||||||
<view class="main">
|
<view class="main">
|
||||||
<view v-for="(item, index) in list" :key="index" class="logistics-item">
|
<view v-for="(item, index) in list" :key="index" class="logistics-item">
|
||||||
<view class="info u-line-2">{{ item.address }}</view>
|
<view class="info u-line-2">{{ item.content }}</view>
|
||||||
<view class="date">{{ item.date }}</view>
|
<view class="date">{{ item.kd_time }}</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
@ -33,24 +33,23 @@
|
|||||||
export default {
|
export default {
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
list: [
|
list: [],
|
||||||
{
|
expressInfo: {},
|
||||||
address: '[北京市]【已签收,本人签收】,感谢使用百事快递,期待再次为您服务[北京市]【已签收,本人签收】,感谢使用百事快递,期待再次为您服务[北京市]【已签收,本人签收】,感谢使用百事快递,期待再次为您服务',
|
|
||||||
date: '2019-12-25 09:38:21'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
address: '[北京市]【已签收,本人签收】,感谢使用百事快递,期待再次为您服务',
|
|
||||||
date: '2019-12-25 09:38:21'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
address: '[北京市]【已签收,本人签收】,感谢使用百事快递,期待再次为您服务',
|
|
||||||
date: '2019-12-15 09:38:20'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
address: '卖家已发货',
|
|
||||||
date: '2019-12-15 09:38:20'
|
|
||||||
}
|
}
|
||||||
]
|
},
|
||||||
|
onLoad(option) {
|
||||||
|
this.getOrderLogistics(option.oid);
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
getOrderLogistics(id) {
|
||||||
|
this.$u.api.orderLogistics({ id: 16 }).then(res => {
|
||||||
|
if(res.errCode == 0) {
|
||||||
|
this.expressInfo = res.data.express_info;
|
||||||
|
this.list = res.data.express_list;
|
||||||
|
} else {
|
||||||
|
this.list = [];
|
||||||
|
}
|
||||||
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
@ -14,17 +14,15 @@
|
|||||||
<view>退出登录</view>
|
<view>退出登录</view>
|
||||||
<image src="../static/mine/21.png"></image>
|
<image src="../static/mine/21.png"></image>
|
||||||
</view>
|
</view>
|
||||||
<u-action-sheet
|
<u-action-sheet v-model="sheetStatus" :list="list" :tips="tips" :border-radius="20" @click="choiceOption">
|
||||||
v-model="sheetStatus"
|
|
||||||
:list="list"
|
|
||||||
:tips="tips"
|
|
||||||
:border-radius="20"
|
|
||||||
@click="choiceOption">
|
|
||||||
</u-action-sheet>
|
</u-action-sheet>
|
||||||
</view>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
export default {
|
import {
|
||||||
|
mapMutations
|
||||||
|
} from 'vuex';
|
||||||
|
export default {
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
checked: false,
|
checked: false,
|
||||||
@ -34,8 +32,7 @@ export default {
|
|||||||
fontSize: 24
|
fontSize: 24
|
||||||
},
|
},
|
||||||
sheetStatus: false,
|
sheetStatus: false,
|
||||||
list: [
|
list: [{
|
||||||
{
|
|
||||||
text: '换个账号登录',
|
text: '换个账号登录',
|
||||||
color: '#FF780F',
|
color: '#FF780F',
|
||||||
fontSize: 28
|
fontSize: 28
|
||||||
@ -46,8 +43,7 @@ export default {
|
|||||||
fontSize: 28
|
fontSize: 28
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
settingList: [
|
settingList: [{
|
||||||
{
|
|
||||||
title: '个人信息',
|
title: '个人信息',
|
||||||
link: '../mine/MineInfo'
|
link: '../mine/MineInfo'
|
||||||
},
|
},
|
||||||
@ -75,10 +71,13 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
...mapMutations(['logout']),
|
||||||
|
// 退出登录选择 0:切换账号 | 1:退出登录
|
||||||
choiceOption(index) {
|
choiceOption(index) {
|
||||||
console.log(index);
|
console.log(index);
|
||||||
|
if (index == 1) {
|
||||||
// console.log(`点击了第${index + 1}项,内容为:${this.list[index].text}`)
|
this.logout();
|
||||||
|
}
|
||||||
},
|
},
|
||||||
toNextPage(url, ...params) {
|
toNextPage(url, ...params) {
|
||||||
uni.navigateTo({
|
uni.navigateTo({
|
||||||
@ -86,12 +85,13 @@ export default {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
.setting {
|
.setting {
|
||||||
min-height: calc(100vh - var(--window-top));
|
min-height: calc(100vh - var(--window-top));
|
||||||
background-color: #ECECEC;
|
background-color: #ECECEC;
|
||||||
|
|
||||||
.list-item {
|
.list-item {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
@ -101,11 +101,12 @@ export default {
|
|||||||
background-color: #ffffff;
|
background-color: #ffffff;
|
||||||
padding: 0 30rpx;
|
padding: 0 30rpx;
|
||||||
font-size: 30rpx;
|
font-size: 30rpx;
|
||||||
color: rgba(51,51,51,1);
|
color: rgba(51, 51, 51, 1);
|
||||||
> image {
|
|
||||||
|
>image {
|
||||||
width: 14rpx;
|
width: 14rpx;
|
||||||
height: 24rpx;
|
height: 24rpx;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
@ -26,7 +26,7 @@ export default {
|
|||||||
return {
|
return {
|
||||||
name: '',
|
name: '',
|
||||||
time: '',
|
time: '',
|
||||||
address: '四川省攀枝花市银江镇',
|
address: '',
|
||||||
params: {
|
params: {
|
||||||
year: true,
|
year: true,
|
||||||
month: true,
|
month: true,
|
||||||
|
@ -15,8 +15,9 @@
|
|||||||
<view class="order-info">
|
<view class="order-info">
|
||||||
<image src="../static/mine/23.png"></image>
|
<image src="../static/mine/23.png"></image>
|
||||||
<view v-if="item.deliver_goods_type == 2 && item.order_status == 20">
|
<view v-if="item.deliver_goods_type == 2 && item.order_status == 20">
|
||||||
<view>骑手名字:{{ item.takeawayer_name }}</view>
|
<view>骑手名字:{{ item.takeawayer_name || '' }}</view>
|
||||||
<view>联系方式:{{ item.member_phone }}</view>
|
<view>联系方式:{{ item.member_phone || '' }}</view>
|
||||||
|
<view>所属公司:{{ item.company || '' }}</view>
|
||||||
</view>
|
</view>
|
||||||
<view v-if="item.order_status == 0">
|
<view v-if="item.order_status == 0">
|
||||||
<view>正在等待接单</view>
|
<view>正在等待接单</view>
|
||||||
@ -35,7 +36,7 @@
|
|||||||
<view class="btn" v-if="item.order_status == 20" @click="sendLaundryOrderConfirm(item.laundry_id)">
|
<view class="btn" v-if="item.order_status == 20" @click="sendLaundryOrderConfirm(item.laundry_id)">
|
||||||
确认完成
|
确认完成
|
||||||
</view>
|
</view>
|
||||||
<view class="btn" v-if="item.order_status == 50">
|
<view class="btn" v-if="item.order_status == 50" @click="toComment(item.laundry_id)">
|
||||||
去评价
|
去评价
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
@ -49,8 +50,8 @@
|
|||||||
</swiper-item>
|
</swiper-item>
|
||||||
<swiper-item class="swiper-item">
|
<swiper-item class="swiper-item">
|
||||||
<scroll-view scroll-y class="comment">
|
<scroll-view scroll-y class="comment">
|
||||||
<view v-for="(item, index) in 3" :key="index" class="comment-item">
|
<view v-for="(comment, index) in commentList" :key="index" class="comment-item">
|
||||||
<Comment></Comment>
|
<Comment :info="comment"></Comment>
|
||||||
</view>
|
</view>
|
||||||
</scroll-view>
|
</scroll-view>
|
||||||
</swiper-item>
|
</swiper-item>
|
||||||
@ -84,6 +85,7 @@ export default {
|
|||||||
page: 1,
|
page: 1,
|
||||||
orderList: [],
|
orderList: [],
|
||||||
timer: true,
|
timer: true,
|
||||||
|
commentList: [],
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
components: {
|
components: {
|
||||||
@ -111,11 +113,22 @@ export default {
|
|||||||
return state;
|
return state;
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
watch: {
|
||||||
|
current(index) {
|
||||||
|
if(index == 1) {
|
||||||
|
uni.navigateTo({
|
||||||
|
url: '/pageE/tool/WashOrder'
|
||||||
|
});
|
||||||
|
this.showPopup = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
onShow() {
|
onShow() {
|
||||||
this.current = 0;
|
this.current = 0;
|
||||||
this.swiperCurrent = 0;
|
this.swiperCurrent = 0;
|
||||||
this.showPopup = false;
|
this.showPopup = false;
|
||||||
this.sendLaundryOrderList();
|
this.sendLaundryOrderList();
|
||||||
|
this.sendCommentList();
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
async sendLaundryOrderList({ load = 'reload' } = {}) {
|
async sendLaundryOrderList({ load = 'reload' } = {}) {
|
||||||
@ -159,31 +172,33 @@ export default {
|
|||||||
this.page--;
|
this.page--;
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
// 送洗评论列表
|
||||||
|
sendCommentList() {
|
||||||
|
this.$u.api.sendCommentList().then(res => {
|
||||||
|
if(res.errCode == 0) {
|
||||||
|
this.commentList = res.data.list;
|
||||||
|
} else {
|
||||||
|
this.commentList = [];
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
toComment(id) {
|
||||||
|
this.$u.route('/pageE/tool/washComment', {
|
||||||
|
id: id
|
||||||
|
});
|
||||||
|
},
|
||||||
tabsChange(index) {
|
tabsChange(index) {
|
||||||
this.swiperCurrent = index;
|
this.swiperCurrent = index;
|
||||||
this.toApplyPage(index);
|
if (index == 0){
|
||||||
|
this.showPopup = !this.showPopup;
|
||||||
|
} else {
|
||||||
|
this.showPopup = false;
|
||||||
|
}
|
||||||
},
|
},
|
||||||
animationfinish(e) {
|
animationfinish(e) {
|
||||||
let current = e.detail.current;
|
let current = e.detail.current;
|
||||||
this.swiperCurrent = current;
|
this.swiperCurrent = current;
|
||||||
this.current = current;
|
this.current = current;
|
||||||
this.toApplyPage(current);
|
|
||||||
},
|
|
||||||
toApplyPage(index) {
|
|
||||||
var that = this;
|
|
||||||
if(index == 1) {
|
|
||||||
this.showPopup = false;
|
|
||||||
uni.navigateTo({
|
|
||||||
url: '/pageE/tool/WashOrder'
|
|
||||||
});
|
|
||||||
} else if (index == 0){
|
|
||||||
this.history();
|
|
||||||
} else {
|
|
||||||
this.showPopup = false;
|
|
||||||
}
|
|
||||||
},
|
|
||||||
history(){
|
|
||||||
this.showPopup = true;
|
|
||||||
},
|
},
|
||||||
replaces(e){
|
replaces(e){
|
||||||
if(e == 1){
|
if(e == 1){
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
<swiper-item class="swiper-item">
|
<swiper-item class="swiper-item">
|
||||||
<scroll-view scroll-y="true" style="height: 100%;">
|
<scroll-view scroll-y="true" style="height: 100%;">
|
||||||
<view class="order-info">
|
<view class="order-info">
|
||||||
<view class="order-name" @click="order()">
|
<view class="order-name" @click="showPopup=true">
|
||||||
<view class="title titles" >
|
<view class="title titles" >
|
||||||
<text>选择订单:</text>
|
<text>选择订单:</text>
|
||||||
<image src="../../static/image/shop/2.png" mode=""></image>
|
<image src="../../static/image/shop/2.png" mode=""></image>
|
||||||
@ -38,9 +38,13 @@
|
|||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
<view class="order-view order-phone">
|
||||||
|
<view class="title">衣服状况:</view>
|
||||||
|
<input type="text" v-model="goodsStatus" />
|
||||||
|
</view>
|
||||||
<view class="order-view order-type" @click="showClothesType=true">
|
<view class="order-view order-type" @click="showClothesType=true">
|
||||||
<view class="title">商品类型:</view>
|
<view class="title">商品类型:</view>
|
||||||
<input type="text" v-model="type" disabled />
|
<input type="text" v-model="type.label" disabled />
|
||||||
</view>
|
</view>
|
||||||
<view class="order-view order-name">
|
<view class="order-view order-name">
|
||||||
<view class="title">送洗人:</view>
|
<view class="title">送洗人:</view>
|
||||||
@ -66,18 +70,22 @@
|
|||||||
<view class="upload-image">
|
<view class="upload-image">
|
||||||
<view class="title">上传商品图片</view>
|
<view class="title">上传商品图片</view>
|
||||||
<u-upload
|
<u-upload
|
||||||
ref="uUpload"
|
ref="platform"
|
||||||
@on-uploaded="onUploaded"
|
|
||||||
:custom-btn="true"
|
:custom-btn="true"
|
||||||
:max-count="count"
|
:max-count="count"
|
||||||
|
:action="uaction"
|
||||||
:auto-upload="false"
|
:auto-upload="false"
|
||||||
|
:header="uheader"
|
||||||
|
:form-data="uformData"
|
||||||
|
:name="uname"
|
||||||
|
@on-uploaded="setImageList"
|
||||||
>
|
>
|
||||||
<view slot="addBtn" class="slot-btn" hover-class="slot-btn__hover" hover-stay-time="150">
|
<view slot="addBtn" class="slot-btn" hover-class="slot-btn__hover" hover-stay-time="150">
|
||||||
<img src="../static/mine/27.png" />
|
<image src="../static/mine/27.png"></image>
|
||||||
</view>
|
</view>
|
||||||
</u-upload>
|
</u-upload>
|
||||||
</view>
|
</view>
|
||||||
<view class="wash-btn" @click="reset()">确认送洗</view>
|
<view class="wash-btn" @click="submitImage">确认送洗</view>
|
||||||
</scroll-view>
|
</scroll-view>
|
||||||
</swiper-item>
|
</swiper-item>
|
||||||
<swiper-item class="swiper-item">
|
<swiper-item class="swiper-item">
|
||||||
@ -86,18 +94,22 @@
|
|||||||
<view class="title">商品名称:</view>
|
<view class="title">商品名称:</view>
|
||||||
<input type="text" v-model="goodsName" />
|
<input type="text" v-model="goodsName" />
|
||||||
</view>
|
</view>
|
||||||
<view class="order-view order-phone" @click="showClothesType=true">
|
|
||||||
<view class="title">商品类型:</view>
|
|
||||||
<input type="text" v-model="type" disabled />
|
|
||||||
</view>
|
|
||||||
<view class="order-view order-phone">
|
<view class="order-view order-phone">
|
||||||
<view class="title">衣服状况:</view>
|
<view class="title">衣服状况:</view>
|
||||||
<input type="text" v-model="name" />
|
<input type="text" v-model="goodsStatus" />
|
||||||
|
</view>
|
||||||
|
<view class="order-view order-phone" @click="showClothesType=true">
|
||||||
|
<view class="title">商品类型:</view>
|
||||||
|
<input type="text" v-model="type.label" disabled />
|
||||||
</view>
|
</view>
|
||||||
<view class="order-view order-name">
|
<view class="order-view order-name">
|
||||||
<view class="title">送洗人:</view>
|
<view class="title">送洗人:</view>
|
||||||
<input type="text" v-model="name" />
|
<input type="text" v-model="name" />
|
||||||
</view>
|
</view>
|
||||||
|
<view class="order-view order-phone">
|
||||||
|
<view class="title">手机号:</view>
|
||||||
|
<input type="text" v-model="phone" maxlength="11" />
|
||||||
|
</view>
|
||||||
<view class="order-view order-area" @click="showAddress=true">
|
<view class="order-view order-area" @click="showAddress=true">
|
||||||
<view class="title">省市区:</view>
|
<view class="title">省市区:</view>
|
||||||
<input type="text" v-model="area" disabled />
|
<input type="text" v-model="area" disabled />
|
||||||
@ -114,28 +126,33 @@
|
|||||||
<view class="upload-image">
|
<view class="upload-image">
|
||||||
<view class="title">上传商品图片</view>
|
<view class="title">上传商品图片</view>
|
||||||
<u-upload
|
<u-upload
|
||||||
ref="uUpload"
|
ref="physical"
|
||||||
@on-uploaded="onUploaded"
|
|
||||||
:custom-btn="true"
|
:custom-btn="true"
|
||||||
:max-count="count"
|
:max-count="count"
|
||||||
|
:action="uaction"
|
||||||
:auto-upload="false"
|
:auto-upload="false"
|
||||||
|
:header="uheader"
|
||||||
|
:form-data="uformData"
|
||||||
|
:name="uname"
|
||||||
|
@on-uploaded="setImageList"
|
||||||
>
|
>
|
||||||
<view slot="addBtn" class="slot-btn" hover-class="slot-btn__hover" hover-stay-time="150">
|
<view slot="addBtn" class="slot-btn" hover-class="slot-btn__hover" hover-stay-time="150">
|
||||||
<img src="../static/mine/27.png" />
|
<image src="../static/mine/27.png"></image>
|
||||||
</view>
|
</view>
|
||||||
</u-upload>
|
</u-upload>
|
||||||
</view>
|
</view>
|
||||||
<view class="wash-btn">确认送洗</view>
|
<view class="wash-btn" @click="submitImage">确认送洗</view>
|
||||||
</swiper-item>
|
</swiper-item>
|
||||||
</swiper>
|
</swiper>
|
||||||
<u-select v-model="showClothesType" :list="typeList" value-name="id" label-name="name" @confirm="confirmType"></u-select>
|
<u-select v-model="showClothesType" :list="typeList" value-name="id" label-name="name" @confirm="confirmType" :safe-area-inset-bottom="true" mode="single-column"></u-select>
|
||||||
<u-select v-model="showAddress"
|
<u-select v-model="showAddress"
|
||||||
mode="mutil-column-auto"
|
mode="mutil-column-auto"
|
||||||
:list="areaList"
|
:list="areaList"
|
||||||
value-name="area_id"
|
value-name="area_id"
|
||||||
label-name="area_name"
|
label-name="area_name"
|
||||||
child-name="_child"
|
child-name="_child"
|
||||||
@confirm="setArea">
|
@confirm="setArea"
|
||||||
|
:safe-area-inset-bottom="true">
|
||||||
</u-select>
|
</u-select>
|
||||||
<u-popup v-model="showPopup" mode="bottom" border-radius="20">
|
<u-popup v-model="showPopup" mode="bottom" border-radius="20">
|
||||||
<view class="order-popup">
|
<view class="order-popup">
|
||||||
@ -182,49 +199,50 @@
|
|||||||
<view class="order-btn" @click="confirm">确认</view>
|
<view class="order-btn" @click="confirm">确认</view>
|
||||||
</view>
|
</view>
|
||||||
</u-popup>
|
</u-popup>
|
||||||
|
<u-toast ref="uToast" />
|
||||||
</view>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
export default {
|
export default {
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
items: [],
|
// items: [],
|
||||||
count: 4, // 最大图片数量
|
count: 4, // 最大图片数量
|
||||||
type: '',
|
type: {}, // 商品类型
|
||||||
name: '',
|
name: '', // 送洗人
|
||||||
phone: '',
|
phone: '', // 手机号
|
||||||
area: '',
|
area: '', // 省市区
|
||||||
address: '',
|
goodsStatus: '', // 衣服状况
|
||||||
// platformForm: {
|
address: '', // 详细地址
|
||||||
// type: '',
|
goodsName: '', // 商品名称
|
||||||
// name: '',
|
|
||||||
// phone: '',
|
|
||||||
// area: '',
|
|
||||||
// address: '',
|
|
||||||
// },
|
|
||||||
// physicalForm: {
|
|
||||||
|
|
||||||
// },
|
|
||||||
goodsName: '',
|
|
||||||
list: [{
|
list: [{
|
||||||
name: '平台历史订单'
|
name: '平台历史订单'
|
||||||
}, {
|
}, {
|
||||||
name: '实体店历史订单'
|
name: '实体店历史订单'
|
||||||
}],
|
}],
|
||||||
typeList: [],
|
typeList: [], // 商品类型列表
|
||||||
orderList: [],
|
orderList: [], // 商品列表
|
||||||
|
page: 0,
|
||||||
current: 0,
|
current: 0,
|
||||||
areaList: [],
|
swiperCurrent: 0,
|
||||||
|
areaList: [], // 地址列表
|
||||||
showClothesType: false,
|
showClothesType: false,
|
||||||
showAddress: false,
|
showAddress: false,
|
||||||
swiperCurrent: 0,
|
|
||||||
showPopup : false,
|
showPopup : false,
|
||||||
checkedList: [],
|
|
||||||
page: 0,
|
|
||||||
swiperHeight: '',
|
swiperHeight: '',
|
||||||
value: '', // radio
|
value: '', // radio
|
||||||
checkedGoods: {},
|
checkedGoods: {}, // 选中的商品
|
||||||
choose: false, // 是否选择商品
|
choose: false, // 是否选择了商品
|
||||||
|
filesArr: [], // 选择的图片
|
||||||
|
uploadImage: [], // 图片名称(后台返回)列表
|
||||||
|
uaction: this.$u.http.config.baseUrl + '/Upload/uploadfile', // 下面是上传图片的参数
|
||||||
|
uheader: {
|
||||||
|
"authorization": 'Bearer' + " " + uni.getStorageSync('token')
|
||||||
|
},
|
||||||
|
uname: 'common', // 与formData name 一样
|
||||||
|
uformData: {
|
||||||
|
name: 'common', // 其他图片
|
||||||
|
},
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
onShow() {
|
onShow() {
|
||||||
@ -242,12 +260,17 @@ export default {
|
|||||||
methods: {
|
methods: {
|
||||||
getClothesTypeList() {
|
getClothesTypeList() {
|
||||||
this.$u.api.getClothesTypeList().then(res => {
|
this.$u.api.getClothesTypeList().then(res => {
|
||||||
|
if (res.errCode == 0) {
|
||||||
this.typeList = res.data.typeList;
|
this.typeList = res.data.typeList;
|
||||||
|
} else {
|
||||||
|
this.typeList = [];
|
||||||
|
}
|
||||||
|
console.log(this.typeList);
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
confirmType(e) {
|
confirmType(e) {
|
||||||
// console.log(e);
|
// console.log(e[0]);
|
||||||
this.type = e[0].label;
|
this.type = e[0];
|
||||||
},
|
},
|
||||||
async getOrderList({ load = 'reload' } = {}) {
|
async getOrderList({ load = 'reload' } = {}) {
|
||||||
const res = await this.$u.api.getOrderList({
|
const res = await this.$u.api.getOrderList({
|
||||||
@ -261,15 +284,96 @@ export default {
|
|||||||
}
|
}
|
||||||
return res;
|
return res;
|
||||||
},
|
},
|
||||||
submit() {
|
submitImage() {
|
||||||
this.$refs.uUpload.upload();
|
// this.$refs.uUpload.upload();
|
||||||
},
|
this.current == 0 ? this.$refs.platform.upload() : this.$refs.physical.upload();
|
||||||
onUploaded(list) {
|
// this.confirmSend();
|
||||||
console.log(list);
|
|
||||||
},
|
},
|
||||||
tabsChange(index) {
|
tabsChange(index) {
|
||||||
this.swiperCurrent = index;
|
this.swiperCurrent = index;
|
||||||
},
|
},
|
||||||
|
setImageList(lists) {
|
||||||
|
console.log(lists);
|
||||||
|
let imageList = [];
|
||||||
|
lists.forEach(res => {
|
||||||
|
if(res.response.errCode == 0) imageList.push(res.response.data.file_name);
|
||||||
|
})
|
||||||
|
// console.log(imageList);
|
||||||
|
this.filesArr = imageList;
|
||||||
|
console.log(this.filesArr);
|
||||||
|
this.confirmSend();
|
||||||
|
},
|
||||||
|
validationParams() {
|
||||||
|
if (this.current == 1) {
|
||||||
|
if(this.$u.test.isEmpty(this.goodsName)) {
|
||||||
|
this.showToast('商品名称不能为空', 'warning');
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(this.current == 0) {
|
||||||
|
if(JSON.stringify(this.checkedGoods) != '{}') {
|
||||||
|
this.showToast('订单不能为空', 'warning');
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(this.$u.test.isEmpty(this.goodsStatus)) {
|
||||||
|
this.showToast('衣服状况不能为空', 'warning');
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if(JSON.stringify(this.type) != '{}') {
|
||||||
|
this.showToast('商品类型不能为空', 'warning');
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if(this.$u.test.isEmpty(this.name)) {
|
||||||
|
this.showToast('送洗人不能为空', 'warning');
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if(this.$u.test.isEmpty(this.phone)) {
|
||||||
|
this.showToast('手机号不能为空', 'warning');
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if(!this.$u.test.mobile(this.phone)) {
|
||||||
|
this.showToast('手机号错误', 'warning');
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if(this.$u.test.isEmpty(this.area)) {
|
||||||
|
this.showToast('地址不能为空', 'warning');
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if(this.$u.test.isEmpty(this.address)) {
|
||||||
|
this.showToast('详细地址不能为空', 'warning');
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
},
|
||||||
|
confirmSend() {
|
||||||
|
if(!this.validationParams) return false;
|
||||||
|
let params = {
|
||||||
|
tid: this.type.value,
|
||||||
|
member_name: this.name,
|
||||||
|
area_info: this.area,
|
||||||
|
address_info: this.address,
|
||||||
|
goods_images: this.filesArr,
|
||||||
|
member_phone: this.phone,
|
||||||
|
condition: this.goodsStatus,
|
||||||
|
}
|
||||||
|
if(this.current == 0) {
|
||||||
|
Object.assign(params, {
|
||||||
|
type: 1,
|
||||||
|
order_id: this.checkedGoods.order_id,
|
||||||
|
goods_id: this.checkedGoods.goods.goods_id,
|
||||||
|
});
|
||||||
|
} else if(this.current == 1) {
|
||||||
|
Object.assign(params, {
|
||||||
|
type: 2,
|
||||||
|
goods_name: this.goodsName,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
// console.log(params);
|
||||||
|
this.$u.api.sendLaundrySave(params).then(res => {
|
||||||
|
this.$u.toast(res.message);
|
||||||
|
})
|
||||||
|
},
|
||||||
radioChange(e){
|
radioChange(e){
|
||||||
const ids = e.split(" ");
|
const ids = e.split(" ");
|
||||||
console.log(ids)
|
console.log(ids)
|
||||||
@ -278,6 +382,7 @@ export default {
|
|||||||
if(order.order_id == ids[0]) {
|
if(order.order_id == ids[0]) {
|
||||||
Object.assign(checkedGoods, { store: order.extend_store });
|
Object.assign(checkedGoods, { store: order.extend_store });
|
||||||
Object.assign(checkedGoods, { order_sn: order.order_sn });
|
Object.assign(checkedGoods, { order_sn: order.order_sn });
|
||||||
|
Object.assign(checkedGoods, { order_id: order.order_id });
|
||||||
order.extend_order_goods.forEach(goods => {
|
order.extend_order_goods.forEach(goods => {
|
||||||
if(goods.goods_id == ids[1]) {
|
if(goods.goods_id == ids[1]) {
|
||||||
Object.assign(checkedGoods, { goods: goods });
|
Object.assign(checkedGoods, { goods: goods });
|
||||||
@ -301,6 +406,8 @@ export default {
|
|||||||
this.$u.api.getArea().then((res)=>{
|
this.$u.api.getArea().then((res)=>{
|
||||||
if (res.errCode == 0) {
|
if (res.errCode == 0) {
|
||||||
this.areaList = res.data;
|
this.areaList = res.data;
|
||||||
|
} else {
|
||||||
|
this.areaList = [];
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
@ -308,30 +415,13 @@ export default {
|
|||||||
let current = e.detail.current;
|
let current = e.detail.current;
|
||||||
this.swiperCurrent = current;
|
this.swiperCurrent = current;
|
||||||
this.current = current;
|
this.current = current;
|
||||||
this.toApplyPage(current);
|
|
||||||
},
|
|
||||||
order() {
|
|
||||||
this.showPopup = true;
|
|
||||||
},
|
|
||||||
toApplyPage(index) {
|
|
||||||
// console.log(index)
|
|
||||||
if(index == 1) {
|
|
||||||
this.showPopup = false;
|
|
||||||
this.choose = false
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
setViewHeight() {
|
setViewHeight() {
|
||||||
const res = uni.getSystemInfoSync();
|
const res = uni.getSystemInfoSync();
|
||||||
this.swiperHeight = res.windowHeight - (88 / 2) + 'px';
|
// this.swiperHeight = res.windowHeight - (88 / 2) + 'px';
|
||||||
|
this.swiperHeight = res.windowHeight + 'px';
|
||||||
},
|
},
|
||||||
// replaces(){
|
confirm(e){
|
||||||
// if(this.list[0].name=='实体店历史订单'){
|
|
||||||
// this.$set(this.list,0,{name: '平台历史订单'} )
|
|
||||||
// }else{
|
|
||||||
// this.$set(this.list,0,{name: '实体店历史订单'} )
|
|
||||||
// }
|
|
||||||
// },
|
|
||||||
confirm(){
|
|
||||||
this.showPopup = false;
|
this.showPopup = false;
|
||||||
if(JSON.stringify(this.checkedGoods) != '{}'){
|
if(JSON.stringify(this.checkedGoods) != '{}'){
|
||||||
this.choose = true;
|
this.choose = true;
|
||||||
@ -342,8 +432,11 @@ export default {
|
|||||||
close(){
|
close(){
|
||||||
this.showPopup = false
|
this.showPopup = false
|
||||||
},
|
},
|
||||||
reset(){
|
showToast(message, type) {
|
||||||
this.choose = false
|
this.$refs.uToast.show({
|
||||||
|
title: message,
|
||||||
|
type: type,
|
||||||
|
})
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
@ -487,7 +580,7 @@ export default {
|
|||||||
background: rgba(236,236,236,1);
|
background: rgba(236,236,236,1);
|
||||||
border-radius: 10rpx;
|
border-radius: 10rpx;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
> img {
|
> image {
|
||||||
width: 54rpx;
|
width: 54rpx;
|
||||||
height: 49rpx;
|
height: 49rpx;
|
||||||
margin-top: 48rpx;
|
margin-top: 48rpx;
|
||||||
|
98
pageE/tool/washComment.vue
Normal file
98
pageE/tool/washComment.vue
Normal file
@ -0,0 +1,98 @@
|
|||||||
|
<template>
|
||||||
|
<view class="comment">
|
||||||
|
<view class="main-container">
|
||||||
|
<u-input v-model="content" type="textarea" height="300" maxlength="200" />
|
||||||
|
<!-- <u-upload
|
||||||
|
ref="uUpload"
|
||||||
|
@on-uploaded="onUploaded"
|
||||||
|
:custom-btn="true"
|
||||||
|
:max-count="count"
|
||||||
|
:auto-upload="false"
|
||||||
|
>
|
||||||
|
<view slot="addBtn" class="slot-btn" hover-class="slot-btn__hover" hover-stay-time="150">
|
||||||
|
<image src="../static/mine/27.png"></image>
|
||||||
|
</view>
|
||||||
|
</u-upload> -->
|
||||||
|
</view>
|
||||||
|
<u-toast ref="uToast" />
|
||||||
|
<view class="write-btn" @click="addWashEvaluate">发表评价</view>
|
||||||
|
</view>
|
||||||
|
</template>
|
||||||
|
<script>
|
||||||
|
export default {
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
washId: '',
|
||||||
|
// count: 4, // 最大图片数量
|
||||||
|
content: '',
|
||||||
|
}
|
||||||
|
},
|
||||||
|
onLoad(option) {
|
||||||
|
this.washId = option.id;
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
verifyParams() {
|
||||||
|
if(this.$u.test.isEmpty(this.content)) {
|
||||||
|
this.$u.toast('内容不可为空');
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
},
|
||||||
|
addWashEvaluate() {
|
||||||
|
if(!this.verifyParams()) return false;
|
||||||
|
this.$u.api.sendOrderComment({
|
||||||
|
id: this.washId,
|
||||||
|
comment: this.content,
|
||||||
|
}).then(res => {
|
||||||
|
this.$refs.uToast.show({
|
||||||
|
title: res.message,
|
||||||
|
back: true,
|
||||||
|
})
|
||||||
|
})
|
||||||
|
},
|
||||||
|
bindTextAreaBlur(event) {
|
||||||
|
this.content = event.detail.value;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
<style lang="scss" scoped>
|
||||||
|
.comment {
|
||||||
|
min-height: calc(100vh - var(--window-top));
|
||||||
|
background-color: #ECECEC;
|
||||||
|
border-top: 1rpx solid #ffffff;
|
||||||
|
.main-container {
|
||||||
|
background-color: #ffffff;
|
||||||
|
padding: 30rpx;
|
||||||
|
margin-bottom: 10rpx;
|
||||||
|
// textarea {
|
||||||
|
// width: 100% !important;
|
||||||
|
// height: 500rpx;
|
||||||
|
// margin-bottom: 60rpx;
|
||||||
|
// }
|
||||||
|
// .slot-btn {
|
||||||
|
// width: 140rpx;
|
||||||
|
// height: 140rpx;
|
||||||
|
// background: rgba(236,236,236,1);
|
||||||
|
// border-radius: 10rpx;
|
||||||
|
// text-align: center;
|
||||||
|
// > img {
|
||||||
|
// margin-top: 48rpx;
|
||||||
|
// width: 54rpx;
|
||||||
|
// height: 49rpx;
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
}
|
||||||
|
.write-btn {
|
||||||
|
margin: 120rpx auto 0;
|
||||||
|
width: 690rpx;
|
||||||
|
height: 98rpx;
|
||||||
|
background: rgba(255,120,15,1);
|
||||||
|
border-radius: 46rpx;
|
||||||
|
font-size: 36rpx;
|
||||||
|
color: rgba(255,255,255,1);
|
||||||
|
text-align: center;
|
||||||
|
line-height: 98rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
13
pages.json
13
pages.json
@ -604,6 +604,19 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"path": "tool/washComment",
|
||||||
|
"style": {
|
||||||
|
"navigationBarTitleText": "送洗评价",
|
||||||
|
"app-plus": {
|
||||||
|
"titleSize": "36px",
|
||||||
|
"titleNView": {
|
||||||
|
"titleColor": "#333333",
|
||||||
|
"backgroundColor": "#FFFFFF"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"path": "tool/WashOrder",
|
"path": "tool/WashOrder",
|
||||||
"style": {
|
"style": {
|
||||||
|
@ -19,7 +19,7 @@
|
|||||||
<scroll-view style="width:100%;height:100%" scroll-y="true">
|
<scroll-view style="width:100%;height:100%" scroll-y="true">
|
||||||
<view class="box">
|
<view class="box">
|
||||||
<!-- <indexad style="width:690rpx"></indexad> -->
|
<!-- <indexad style="width:690rpx"></indexad> -->
|
||||||
<u-swiper mode="dot" :list="indexImageSwiper" name="adv_code"></u-swiper>
|
<u-swiper mode="dot" :list="indexImageSwiper" name="adv_code" @click="clickFImage"></u-swiper>
|
||||||
<view class="list">
|
<view class="list">
|
||||||
<view>
|
<view>
|
||||||
<videoItem v-for="item in articleList.filter((_, index) => !(index&1))" :key="item.article_id" :item="item"
|
<videoItem v-for="item in articleList.filter((_, index) => !(index&1))" :key="item.article_id" :item="item"
|
||||||
@ -36,7 +36,7 @@
|
|||||||
<swiper-item>
|
<swiper-item>
|
||||||
<scroll-view style="width:100%;height:100%" scroll-y="true">
|
<scroll-view style="width:100%;height:100%" scroll-y="true">
|
||||||
<view class="box">
|
<view class="box">
|
||||||
<u-swiper mode="dot" :list="zhiboImageSwiper" name="adv_code"></u-swiper>
|
<u-swiper mode="dot" :list="zhiboImageSwiper" name="adv_code" @click="clickSImage($event, 2)"></u-swiper>
|
||||||
<view class="list">
|
<view class="list">
|
||||||
<view>
|
<view>
|
||||||
<zhiboItem v-for="item in tabLiveLists.filter((_, index) => !(index&1))" :zid="item.live_id" :key="item.live_id" :name="item.store_name" :image="item.cover_img" :url="item.url"></zhiboItem>
|
<zhiboItem v-for="item in tabLiveLists.filter((_, index) => !(index&1))" :zid="item.live_id" :key="item.live_id" :name="item.store_name" :image="item.cover_img" :url="item.url"></zhiboItem>
|
||||||
@ -283,6 +283,28 @@
|
|||||||
url: '/pageB/follow/index'
|
url: '/pageB/follow/index'
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
clickFImage(index) {
|
||||||
|
const item = this.indexImageSwiper[index];
|
||||||
|
console.log(item);
|
||||||
|
this.activityLink({ type: item.url_type, id: item.info_id });
|
||||||
|
},
|
||||||
|
clickSImage(index) {
|
||||||
|
const item = this.zhiboImageSwiper[index];
|
||||||
|
console.log(item);
|
||||||
|
this.activityLink({ type: item.url_type, id: item.info_id });
|
||||||
|
},
|
||||||
|
activityLink({ type, id }) {
|
||||||
|
if(type == 0) return false;
|
||||||
|
// type 1 商品详情页, 2 店铺详情页
|
||||||
|
const url = type == 1 ? 'pageB/sdetails/index' : 'pageC/merchant/index';
|
||||||
|
let params = { id: id };
|
||||||
|
// type: 1 // 商品详情 1普通 2拼团 3秒杀 4优惠券
|
||||||
|
if(type == 1) Object.assign(params, { type: 1 });
|
||||||
|
this.$u.route({
|
||||||
|
url: url,
|
||||||
|
params: params
|
||||||
|
})
|
||||||
|
},
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
<view class="info-left">
|
<view class="info-left">
|
||||||
<view class="user-nickname">{{ userInfo.member_nickname }}</view>
|
<view class="user-nickname">{{ userInfo.member_nickname }}</view>
|
||||||
<view class="user-medal" @click="toOtherPage('/mine/MedalIntroduction')">
|
<view class="user-medal" @click="toOtherPage('/mine/MedalIntroduction')">
|
||||||
<img src="/static/image/mine/13.png" />
|
<image src="/static/image/mine/13.png"></image>
|
||||||
<view class="rank-title">{{ userInfo.member_grade_name }}</view>
|
<view class="rank-title">{{ userInfo.member_grade_name }}</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
@ -47,32 +47,32 @@
|
|||||||
<view class="title-text">我的订单</view>
|
<view class="title-text">我的订单</view>
|
||||||
<view class="more" @click="toOtherPage('/order/Index')">
|
<view class="more" @click="toOtherPage('/order/Index')">
|
||||||
<view>查看全部订单</view>
|
<view>查看全部订单</view>
|
||||||
<img src="/static/image/mine/21.png" />
|
<image src="/static/image/mine/21.png"></image>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="content">
|
<view class="content">
|
||||||
<view @click="toOtherPage('/order/Index?current=1')">
|
<view @click="toOtherPage('/order/Index?current=1')">
|
||||||
<img src="/static/image/mine/6.png" />
|
<image src="/static/image/mine/6.png"></image>
|
||||||
<view>待支付</view>
|
<view>待支付</view>
|
||||||
</view>
|
</view>
|
||||||
<view @click="toOtherPage('/order/Index?current=2')">
|
<view @click="toOtherPage('/order/Index?current=2')">
|
||||||
<img src="/static/image/mine/14.png" />
|
<image src="/static/image/mine/14.png"></image>
|
||||||
<view>已取消</view>
|
<view>已取消</view>
|
||||||
</view>
|
</view>
|
||||||
<view @click="toOtherPage('/order/Index?current=3')">
|
<view @click="toOtherPage('/order/Index?current=3')">
|
||||||
<img src="/static/image/mine/2.png" />
|
<image src="/static/image/mine/2.png"></image>
|
||||||
<view>待收货</view>
|
<view>待收货</view>
|
||||||
</view>
|
</view>
|
||||||
<view @click="toOtherPage('/order/Index?current=4')">
|
<view @click="toOtherPage('/order/Index?current=4')">
|
||||||
<img src="/static/image/mine/1.png" />
|
<image src="/static/image/mine/1.png"></image>
|
||||||
<view>试穿试送</view>
|
<view>试穿试送</view>
|
||||||
</view>
|
</view>
|
||||||
<view @click="toOtherPage('/order/Index?current=5')">
|
<view @click="toOtherPage('/order/Index?current=5')">
|
||||||
<img src="/static/image/mine/3.png" />
|
<image src="/static/image/mine/3.png"></image>
|
||||||
<view>待评价</view>
|
<view>待评价</view>
|
||||||
</view>
|
</view>
|
||||||
<view @click="toOtherPage('/order/Index?current=6')">
|
<view @click="toOtherPage('/order/Index?current=6')">
|
||||||
<img src="/static/image/mine/9.png" />
|
<image src="/static/image/mine/9.png"></image>
|
||||||
<view>售后</view>
|
<view>售后</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
@ -81,19 +81,19 @@
|
|||||||
<view class="title">我的工具</view>
|
<view class="title">我的工具</view>
|
||||||
<view class="content">
|
<view class="content">
|
||||||
<view @click="toOtherPage('/tool/SendWash')">
|
<view @click="toOtherPage('/tool/SendWash')">
|
||||||
<img src="/static/image/mine/20.png" />
|
<image src="/static/image/mine/20.png"></image>
|
||||||
<view>送洗</view>
|
<view>送洗</view>
|
||||||
</view>
|
</view>
|
||||||
<view @click="toOtherPage('/tool/Manicure')">
|
<view @click="toOtherPage('/tool/Manicure')">
|
||||||
<img src="/static/image/mine/19.png" />
|
<image src="/static/image/mine/19.png"></image>
|
||||||
<view>美甲</view>
|
<view>美甲</view>
|
||||||
</view>
|
</view>
|
||||||
<view @click="toOtherPage('/tool/MineHistory')">
|
<view @click="toOtherPage('/tool/MineHistory')">
|
||||||
<img src="/static/image/mine/18.png" />
|
<image src="/static/image/mine/18.png"></image>
|
||||||
<view>足迹</view>
|
<view>足迹</view>
|
||||||
</view>
|
</view>
|
||||||
<view @click="toOtherPage('/tool/MineCoupon')">
|
<view @click="toOtherPage('/tool/MineCoupon')">
|
||||||
<img src="/static/image/mine/25.png" />
|
<image src="/static/image/mine/25.png"></image>
|
||||||
<view>优惠券</view>
|
<view>优惠券</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
@ -102,19 +102,19 @@
|
|||||||
<view class="title">更多工具</view>
|
<view class="title">更多工具</view>
|
||||||
<view class="content">
|
<view class="content">
|
||||||
<view @click="toOtherPage('/more/Address')">
|
<view @click="toOtherPage('/more/Address')">
|
||||||
<img src="/static/image/mine/17.png" />
|
<image src="/static/image/mine/17.png"></image>
|
||||||
<view>收货地址</view>
|
<view>收货地址</view>
|
||||||
</view>
|
</view>
|
||||||
<view @click="toOtherPage('/more/AfterSalesHelp')">
|
<view @click="toOtherPage('/more/AfterSalesHelp')">
|
||||||
<img src="/static/image/mine/9.png" />
|
<image src="/static/image/mine/9.png"></image>
|
||||||
<view>售后政策</view>
|
<view>售后政策</view>
|
||||||
</view>
|
</view>
|
||||||
<view @click="toOtherPage('/more/MineHelp')">
|
<view @click="toOtherPage('/more/MineHelp')">
|
||||||
<img src="/static/image/mine/16.png" />
|
<image src="/static/image/mine/16.png"></image>
|
||||||
<view>使用帮助</view>
|
<view>使用帮助</view>
|
||||||
</view>
|
</view>
|
||||||
<view @click="toOtherPage('/more/Complaints')">
|
<view @click="toOtherPage('/more/Complaints')">
|
||||||
<img src="/static/image/mine/15.png" />
|
<image src="/static/image/mine/15.png"></image>
|
||||||
<view>投诉意见</view>
|
<view>投诉意见</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
@ -189,10 +189,11 @@ export default {
|
|||||||
border-radius: 13rpx;
|
border-radius: 13rpx;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
padding: 0 17rpx 0 10rpx;
|
padding: 0 17rpx 0 10rpx;
|
||||||
> img {
|
> image {
|
||||||
margin-right: 9rpx;
|
margin-right: 9rpx;
|
||||||
width: 20rpx;
|
width: 20rpx;
|
||||||
height: 22rpx;
|
height: 22rpx;
|
||||||
|
flex-shrink: 0;
|
||||||
}
|
}
|
||||||
.rank-title {
|
.rank-title {
|
||||||
font-size: 16rpx;
|
font-size: 16rpx;
|
||||||
@ -240,7 +241,13 @@ export default {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
.mine-container {
|
.mine-container {
|
||||||
@mixin common-mine($content-padding-top, $content-padding-bottom, $image-height) {
|
@mixin image-size($image-width, $image-height) {
|
||||||
|
> image {
|
||||||
|
width: $image-width !important;
|
||||||
|
height: $image-height !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@mixin common-mine($content-padding-top, $content-padding-bottom, $image-width, $image-height) {
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
width: 690rpx;
|
width: 690rpx;
|
||||||
background: rgba(255,255,255,1);
|
background: rgba(255,255,255,1);
|
||||||
@ -270,9 +277,11 @@ export default {
|
|||||||
display: flex;
|
display: flex;
|
||||||
> view {
|
> view {
|
||||||
text-align: center;
|
text-align: center;
|
||||||
> img {
|
> image {
|
||||||
|
width: $image-width;
|
||||||
height: $image-height;
|
height: $image-height;
|
||||||
margin-bottom: 15rpx;
|
margin-bottom: 15rpx;
|
||||||
|
flex-shrink: 0;
|
||||||
}
|
}
|
||||||
> view {
|
> view {
|
||||||
font-size: 22rpx;
|
font-size: 22rpx;
|
||||||
@ -285,31 +294,50 @@ export default {
|
|||||||
@include common-mine(
|
@include common-mine(
|
||||||
$content-padding-top: 22rpx,
|
$content-padding-top: 22rpx,
|
||||||
$content-padding-bottom: 30rpx,
|
$content-padding-bottom: 30rpx,
|
||||||
$image-height: 36rpx
|
$image-height: 36rpx,
|
||||||
|
$image-width: 36rpx,
|
||||||
);
|
);
|
||||||
.title {
|
.title {
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
.more {
|
.more {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
> img {
|
> image {
|
||||||
|
width: 19rpx;
|
||||||
height: 19rpx;
|
height: 19rpx;
|
||||||
margin-left: 10rpx;
|
margin-left: 10rpx;
|
||||||
|
flex-shrink: 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.content {
|
.content {
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
> view {
|
> view:nth-child(1){
|
||||||
text-align: center;
|
@include image-size($image-width: 33rpx, $image-height: 36rpx);
|
||||||
};
|
}
|
||||||
|
> view:nth-child(2){
|
||||||
|
@include image-size($image-width: 39rpx, $image-height: 33rpx);
|
||||||
|
}
|
||||||
|
> view:nth-child(3){
|
||||||
|
@include image-size($image-width: 41rpx, $image-height: 33rpx);
|
||||||
|
}
|
||||||
|
> view:nth-child(4){
|
||||||
|
@include image-size($image-width: 40rpx, $image-height: 35rpx);
|
||||||
|
}
|
||||||
|
> view:nth-child(5){
|
||||||
|
@include image-size($image-width: 37rpx, $image-height: 37rpx);
|
||||||
|
}
|
||||||
|
> view:nth-child(6){
|
||||||
|
@include image-size($image-width: 33rpx, $image-height: 35rpx);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.tool {
|
.tool {
|
||||||
@include common-mine(
|
@include common-mine(
|
||||||
$content-padding-top: 8rpx,
|
$content-padding-top: 8rpx,
|
||||||
$content-padding-bottom: 25rpx,
|
$content-padding-bottom: 25rpx,
|
||||||
$image-height: 71rpx
|
$image-height: 71rpx,
|
||||||
|
$image-width: 71rpx,
|
||||||
);
|
);
|
||||||
.content {
|
.content {
|
||||||
> view:not(:last-child) {
|
> view:not(:last-child) {
|
||||||
@ -321,7 +349,8 @@ export default {
|
|||||||
@include common-mine(
|
@include common-mine(
|
||||||
$content-padding-top: 8rpx,
|
$content-padding-top: 8rpx,
|
||||||
$content-padding-bottom: 48rpx,
|
$content-padding-bottom: 48rpx,
|
||||||
$image-height: 71rpx
|
$image-height: 71rpx,
|
||||||
|
$image-width: 71rpx,
|
||||||
);
|
);
|
||||||
.content {
|
.content {
|
||||||
> view:not(:last-child) {
|
> view:not(:last-child) {
|
||||||
|
@ -43,7 +43,9 @@
|
|||||||
<pintuan v-if="JSON.stringify(pinTuanPush) != '{}'" :recommendData="pinTuanPush"></pintuan>
|
<pintuan v-if="JSON.stringify(pinTuanPush) != '{}'" :recommendData="pinTuanPush"></pintuan>
|
||||||
<!-- 拼团列表 -->
|
<!-- 拼团列表 -->
|
||||||
<group></group>
|
<group></group>
|
||||||
<image class="lingquan"></image>
|
<view class="activity-view">
|
||||||
|
<image class="lingquan" :src="activityInfo.adv_code" @click="activityLink({ type: activityInfo.url_type, id: activityInfo.info_id })"></image>
|
||||||
|
</view>
|
||||||
<youhq></youhq>
|
<youhq></youhq>
|
||||||
<list ref="recommendGoods"></list>
|
<list ref="recommendGoods"></list>
|
||||||
<view class="cart" @click="toCartPage">
|
<view class="cart" @click="toCartPage">
|
||||||
@ -89,6 +91,7 @@ export default {
|
|||||||
seckillTime: {}, // 秒杀时间
|
seckillTime: {}, // 秒杀时间
|
||||||
// couponGroupList: [], // 优惠券拼团分类
|
// couponGroupList: [], // 优惠券拼团分类
|
||||||
pinTuanPush: {}, // 拼团推荐
|
pinTuanPush: {}, // 拼团推荐
|
||||||
|
activityInfo: {},
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
onLoad() {
|
onLoad() {
|
||||||
@ -98,6 +101,7 @@ export default {
|
|||||||
this.getRecommendedSpike();
|
this.getRecommendedSpike();
|
||||||
this.getSpikeList();
|
this.getSpikeList();
|
||||||
this.getPinTuanPush();
|
this.getPinTuanPush();
|
||||||
|
this.getStoreActivity();
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
sousuo() {
|
sousuo() {
|
||||||
@ -170,6 +174,25 @@ export default {
|
|||||||
url: '/pageC/classify/index'
|
url: '/pageC/classify/index'
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
getStoreActivity() {
|
||||||
|
this.$u.api.getStoreActivity().then(res => {
|
||||||
|
if(res.errCode == 0) {
|
||||||
|
this.activityInfo = res.data;
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
activityLink({ type, id }) {
|
||||||
|
if(type == 0 || type == 2) return false;
|
||||||
|
// type 1 商品详情页, 2 店铺详情页
|
||||||
|
const url = type == 1 ? 'pageB/sdetails/index' : '';
|
||||||
|
let params = { id: id };
|
||||||
|
// type: 1 // 商品详情 1普通 2拼团 3秒杀 4优惠券
|
||||||
|
if(type == 1) Object.assign(params, { type: 1 });
|
||||||
|
this.$u.route({
|
||||||
|
url: url,
|
||||||
|
params: params
|
||||||
|
})
|
||||||
|
},
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
@ -251,12 +274,14 @@ export default {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
.activity-view {
|
||||||
|
padding: 20rpx 30rpx;
|
||||||
|
text-align: center;
|
||||||
.lingquan {
|
.lingquan {
|
||||||
width: 750rpx;
|
|
||||||
height: 177rpx;
|
|
||||||
margin-left: -33rpx;
|
|
||||||
margin-top: 29rpx;
|
|
||||||
background-color: #ececec;
|
background-color: #ececec;
|
||||||
|
width: 688rpx;
|
||||||
|
height: 138rpx;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
.cart {
|
.cart {
|
||||||
z-index: 9;
|
z-index: 9;
|
||||||
|
Loading…
Reference in New Issue
Block a user