Merge branch 'master' of http://git.luyuan.tk/luyuan/deming into zmr
This commit is contained in:
		
						commit
						2479d587cd
					
				@ -44,9 +44,9 @@ unescapeHTML(temp){}
 | 
			
		||||
/**
 | 
			
		||||
* 上传文件(只能单文件上传)
 | 
			
		||||
* @param { String } url 服务器 url
 | 
			
		||||
* @param { String } name 上传类型 goods-商品图片 avatar-用户头像 video-视频 store_logo-店铺logo store_banner-店铺banner store_avatar-店铺头像
 | 
			
		||||
* @param { String } filePath 要上传文件资源的路径
 | 
			
		||||
* @param { String } type 上传文件验证类型 默认: img 可选: video
 | 
			
		||||
* @return { object } promise 对象 resolve 返回文件服务器地址 reject 返回错误信息
 | 
			
		||||
*/
 | 
			
		||||
uploadFile({ url, filePath, type = 'img' } = {}) {}
 | 
			
		||||
uploadFile({ url, name, filePath }) {}
 | 
			
		||||
```
 | 
			
		||||
@ -216,7 +216,7 @@ export default {
 | 
			
		||||
					page: page,
 | 
			
		||||
				});
 | 
			
		||||
			},
 | 
			
		||||
			// 意见反馈列表 
 | 
			
		||||
			// 意见反馈列表
 | 
			
		||||
			getFeedbackList({ page }) {
 | 
			
		||||
				return vm.$u.post('Member/feedbackList', {
 | 
			
		||||
					page: page,
 | 
			
		||||
@ -230,14 +230,15 @@ export default {
 | 
			
		||||
				});
 | 
			
		||||
			},
 | 
			
		||||
			// 订单列表
 | 
			
		||||
			getOrderList({ page, type }) {
 | 
			
		||||
			getOrderList({ page, type, refund_state }) {
 | 
			
		||||
				let params = { page: page };
 | 
			
		||||
				if(type >= 0) Object.assign(params, {state_type: type})
 | 
			
		||||
				return vm.$u.post('Goods/orderList', params);
 | 
			
		||||
				if(type >= 0 || typeof type == 'string') Object.assign(params, {state_type: type});
 | 
			
		||||
				if(refund_state) Object.assign(params, {refund_state: refund_state});
 | 
			
		||||
				return vm.$u.post('Order/orderList', params);
 | 
			
		||||
			},
 | 
			
		||||
			// 订单详情
 | 
			
		||||
			getOrderInfo({ order_id }) {
 | 
			
		||||
				return vm.$u.post('Goods/orderInfo', { order_id: order_id });
 | 
			
		||||
				return vm.$u.post('Order/orderInfo', { order_id: order_id });
 | 
			
		||||
			},
 | 
			
		||||
			// 查询订单的评价信息
 | 
			
		||||
			getOrderEvaluateInfo({ id }) {
 | 
			
		||||
@ -245,23 +246,15 @@ export default {
 | 
			
		||||
			},
 | 
			
		||||
			// 订单评价/修改评价
 | 
			
		||||
			updateOrderEvaluate({ id, content, scores_one, scores_two, scores_three, file }) {
 | 
			
		||||
				return vm.$u.post('Order/orderEvaluate', { 
 | 
			
		||||
				let params = {
 | 
			
		||||
					id: id,
 | 
			
		||||
					content: content,
 | 
			
		||||
					scores_one: scores_one,
 | 
			
		||||
					scores_two: scores_two,
 | 
			
		||||
					scores_three: scores_three,
 | 
			
		||||
					file: file,
 | 
			
		||||
				 });
 | 
			
		||||
			},
 | 
			
		||||
			// 上传图片视频
 | 
			
		||||
			uploadfile({ file }) {
 | 
			
		||||
				const params = {
 | 
			
		||||
					file: file
 | 
			
		||||
				}
 | 
			
		||||
				console.log(params);
 | 
			
		||||
				
 | 
			
		||||
				return vm.$u.post('Upload/uploadfile', params);
 | 
			
		||||
				if(file) Object.assign(params, { file: file });
 | 
			
		||||
				return vm.$u.post('Order/orderEvaluate', params);
 | 
			
		||||
			},
 | 
			
		||||
			// 信息模块
 | 
			
		||||
			messageIndex({ }) {
 | 
			
		||||
 | 
			
		||||
@ -5,10 +5,10 @@
 | 
			
		||||
				<image :src="order.extend_store.store_avatar"></image>
 | 
			
		||||
				<view class="store-name">{{ order.extend_store.store_name }}</view>
 | 
			
		||||
			</view>
 | 
			
		||||
			<view class="order-status">{{ order.order_state | viewState }}</view>
 | 
			
		||||
			<view class="order-status">{{ state }}</view>
 | 
			
		||||
		</view>
 | 
			
		||||
		<view class="goods-info">
 | 
			
		||||
			<view class="goods-item" @click="toDetailsPage" v-for="goods in order.extend_order_goods" :key="goods.goods_id">
 | 
			
		||||
			<view class="goods-item" @click="toOtherPage('Details')" v-for="goods in order.extend_order_goods" :key="goods.goods_id">
 | 
			
		||||
				<image :src="goods.goods_image"></image>
 | 
			
		||||
				<view class="goods-text">
 | 
			
		||||
					<view class="goods-name u-line-2">{{ goods.goods_name }}</view>
 | 
			
		||||
@ -17,72 +17,65 @@
 | 
			
		||||
					<view class="goods-price u-line-1" v-if="order.order_state == 20 || order.order_state == 40">总价:¥99.00,实付款¥99</view>
 | 
			
		||||
					<view class="goods-date" v-if="order.order_state == 20 || order.order_state == 40">
 | 
			
		||||
						<image src="@/pageE/static/mine/26.png"></image>
 | 
			
		||||
						<view>2020.05.17</view>
 | 
			
		||||
						<view>{{ order.add_time | date }}</view>
 | 
			
		||||
					</view>
 | 
			
		||||
				</view>
 | 
			
		||||
			</view>
 | 
			
		||||
		</view>
 | 
			
		||||
		<view class="order-btn" v-if="[10, 30, 20, 40].indexOf(order.order_state) >= 0">
 | 
			
		||||
			<view class="logistics" v-if="order.order_state == 30" @click="toLogistics">查看物流</view>
 | 
			
		||||
			<view class="comment" v-if="order.order_state == 20" @click="toComment">立即评价</view>
 | 
			
		||||
			<view class="logistics" v-if="order.order_state == 30" @click="toOtherPage('Logistics')">查看物流</view>
 | 
			
		||||
			<view class="comment" v-if="order.order_state == 40 && order.evaluation_state == 0" @click="toOtherPage('Comment')">立即评价</view>
 | 
			
		||||
			<view class="calcel" v-if="order.order_state == 10">取消支付</view>
 | 
			
		||||
			<view class="payment" v-if="order.order_state == 10">立即支付</view>
 | 
			
		||||
			<view class="service" v-if="order.order_state == 40">联系官方客服</view>
 | 
			
		||||
			<view class="submit" v-if="order.order_state == 40">提交官方审核</view>
 | 
			
		||||
			<view class="service" v-if="order.order_state == 20">联系官方客服</view>
 | 
			
		||||
			<view class="submit" v-if="order.order_state == 20">提交官方审核</view>
 | 
			
		||||
		</view>
 | 
			
		||||
	</view>
 | 
			
		||||
</template>
 | 
			
		||||
<script>
 | 
			
		||||
export default {
 | 
			
		||||
	data() {
 | 
			
		||||
		return {}
 | 
			
		||||
		return {
 | 
			
		||||
			state: '', // 1: 待收货 2: 待评价 3: 交易成功 4: 已取消 5: 已退款 6: 待支付
 | 
			
		||||
		}
 | 
			
		||||
	},
 | 
			
		||||
	props: {
 | 
			
		||||
		order: Object
 | 
			
		||||
	},
 | 
			
		||||
	filters: {
 | 
			
		||||
		viewState(value) {
 | 
			
		||||
	created() {
 | 
			
		||||
		this.viewState();
 | 
			
		||||
	},
 | 
			
		||||
	methods: {
 | 
			
		||||
		viewState() {
 | 
			
		||||
			let state;
 | 
			
		||||
			switch (value) {
 | 
			
		||||
				case 10:
 | 
			
		||||
					state = '待支付';
 | 
			
		||||
					break;
 | 
			
		||||
				case 0:
 | 
			
		||||
			switch (this.order.order_state) {
 | 
			
		||||
				case 0: // 已取消
 | 
			
		||||
					state = '已取消';
 | 
			
		||||
					break;
 | 
			
		||||
				case 30:
 | 
			
		||||
				case 10: // 未付款
 | 
			
		||||
					state = '待支付';
 | 
			
		||||
					break;
 | 
			
		||||
				case 20: // 已付款
 | 
			
		||||
					state = '交易成功';
 | 
			
		||||
					break;
 | 
			
		||||
				case 30: // 已发货
 | 
			
		||||
					state = '待收货';
 | 
			
		||||
					break;
 | 
			
		||||
				case -1:
 | 
			
		||||
					state = '试穿试送';
 | 
			
		||||
					break;
 | 
			
		||||
				case 20:
 | 
			
		||||
					state = '待评价';
 | 
			
		||||
					break;
 | 
			
		||||
				case 40:
 | 
			
		||||
					state = '售后';
 | 
			
		||||
				case 40: // 已收货
 | 
			
		||||
					if(this.order.evaluation_state == 0) state = '待评价';
 | 
			
		||||
					else state = '交易成功'
 | 
			
		||||
					break;
 | 
			
		||||
				default:
 | 
			
		||||
					break;
 | 
			
		||||
			}
 | 
			
		||||
			return state;
 | 
			
		||||
			if(this.order.refund_state) state = '已退款';
 | 
			
		||||
			this.state = state;
 | 
			
		||||
		},
 | 
			
		||||
	},
 | 
			
		||||
	methods: {
 | 
			
		||||
		toDetailsPage() {
 | 
			
		||||
			uni.navigateTo({
 | 
			
		||||
				url: '/pageE/order/Details?order.order_state=' + this.order.order_state
 | 
			
		||||
		toOtherPage(url) {
 | 
			
		||||
			this.$u.route('/pageE/order/' + url, {
 | 
			
		||||
				oid: this.order.order_id,
 | 
			
		||||
			});
 | 
			
		||||
		},
 | 
			
		||||
		toLogistics() {
 | 
			
		||||
			uni.navigateTo({
 | 
			
		||||
				url: '/pageE/order/Logistics'
 | 
			
		||||
			});
 | 
			
		||||
		},
 | 
			
		||||
		toComment() {
 | 
			
		||||
			uni.navigateTo({
 | 
			
		||||
				url: '/pageE/order/Comment'
 | 
			
		||||
			});
 | 
			
		||||
		}
 | 
			
		||||
	},
 | 
			
		||||
};
 | 
			
		||||
</script>
 | 
			
		||||
@ -184,6 +177,9 @@ export default {
 | 
			
		||||
		.logistics, .comment, .payment {
 | 
			
		||||
			@include btn-class($width: 160rpx, $color: rgba(255,119,15,1));
 | 
			
		||||
		}
 | 
			
		||||
		.calcel {
 | 
			
		||||
			@include btn-class($width: 160rpx, $color: rgba(155,153,153,1));
 | 
			
		||||
		}
 | 
			
		||||
		.service {
 | 
			
		||||
			@include btn-class($width: 216rpx, $color: rgba(155,153,153,1));
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
@ -6,7 +6,9 @@
 | 
			
		||||
                'font-size':'32rpx',
 | 
			
		||||
                'color':'#FF780F',
 | 
			
		||||
                'overflow':'unset'
 | 
			
		||||
            }"></u-search>
 | 
			
		||||
            }"
 | 
			
		||||
            @search="search"
 | 
			
		||||
            ></u-search>
 | 
			
		||||
        </view>
 | 
			
		||||
        <view class="list">
 | 
			
		||||
            <view class="title">搜索发现</view>
 | 
			
		||||
@ -23,6 +25,18 @@ export default {
 | 
			
		||||
        return{
 | 
			
		||||
            keyword:""
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
    methods:{
 | 
			
		||||
        search(value){
 | 
			
		||||
            // console.log(value)
 | 
			
		||||
            this.$u.route({
 | 
			
		||||
                url:"/pageB/search/out",
 | 
			
		||||
                params:{
 | 
			
		||||
                    value,
 | 
			
		||||
                    type:"shop"
 | 
			
		||||
                }
 | 
			
		||||
            })
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
</script>
 | 
			
		||||
 | 
			
		||||
@ -4,8 +4,8 @@
 | 
			
		||||
            <image></image>
 | 
			
		||||
            <u-search placeholder="搜索您需要的商品" v-model="keyword" height="60" :show-action="false"></u-search>
 | 
			
		||||
        </view>
 | 
			
		||||
        <u-tabs-swiper @change="tabsChange" :show-bar="false" :bold="false" :font-size="32" active-color="#FF780F" ref="uTabs" :list="list" :is-scroll="false" style="border-bottom: 1px solid #ececec;flex-shrink:0" height="88"></u-tabs-swiper>
 | 
			
		||||
        <swiper class="swiper"  :current="swiperCurrent" @transition="transition" @animationfinish="animationfinish">
 | 
			
		||||
        <u-tabs-swiper v-if="type == 'dianpu'" @change="tabsChange" :show-bar="false" :bold="false" :font-size="32" active-color="#FF780F" ref="uTabs" :list="list" :is-scroll="false" style="border-bottom: 1px solid #ececec;flex-shrink:0" height="88"></u-tabs-swiper>
 | 
			
		||||
        <swiper  v-if="type == 'dianpu'" class="swiper"  :current="swiperCurrent" @transition="transition" @animationfinish="animationfinish">
 | 
			
		||||
            <swiper-item>
 | 
			
		||||
                <scroll-view :scroll-y="true" style="height:100%">
 | 
			
		||||
                    <view style="padding-top:30rpx">
 | 
			
		||||
@ -25,6 +25,18 @@
 | 
			
		||||
                </scroll-view>
 | 
			
		||||
            </swiper-item>
 | 
			
		||||
        </swiper>
 | 
			
		||||
        <view class="select">
 | 
			
		||||
            <view  @click="sx(1)" data-type="xl">销量</view>
 | 
			
		||||
            <view class="xz" @click="sx(2)">
 | 
			
		||||
                <text>价格</text>
 | 
			
		||||
                <view class="jiage">
 | 
			
		||||
                    <view class="top"></view>
 | 
			
		||||
                    <view class="bottom bottomxz"></view>
 | 
			
		||||
                </view>
 | 
			
		||||
            </view>
 | 
			
		||||
            <view  data-type="hp"  @click="sx(3)">好评</view>
 | 
			
		||||
        </view>
 | 
			
		||||
 | 
			
		||||
    </view>
 | 
			
		||||
</template>
 | 
			
		||||
<style lang="scss" scoped>
 | 
			
		||||
@ -59,6 +71,49 @@
 | 
			
		||||
            padding-left: 30rpx;
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
    .select{
 | 
			
		||||
        width: 100%;
 | 
			
		||||
        height: 89rpx;
 | 
			
		||||
        border-bottom: 1rpx solid #ececec;
 | 
			
		||||
        display: flex;
 | 
			
		||||
        align-items: center;
 | 
			
		||||
        padding: 0 40rpx;
 | 
			
		||||
        flex-shrink: 0;
 | 
			
		||||
        justify-content: space-between;
 | 
			
		||||
        >view{
 | 
			
		||||
            font-size: 32rpx;
 | 
			
		||||
            color: #333;
 | 
			
		||||
            display: flex;
 | 
			
		||||
            font-weight:400;
 | 
			
		||||
            .jiage{
 | 
			
		||||
                display: flex;
 | 
			
		||||
                flex-direction: column;
 | 
			
		||||
                .top{ 
 | 
			
		||||
                    width: 12rpx;
 | 
			
		||||
                    border-bottom: 12rpx solid #707070;
 | 
			
		||||
                    border-left: 11rpx solid #fff ;
 | 
			
		||||
                    border-right: 11rpx solid #fff ;
 | 
			
		||||
                    margin-bottom: 2rpx;
 | 
			
		||||
                }
 | 
			
		||||
                .bottom{
 | 
			
		||||
                    width: 12rpx;
 | 
			
		||||
                    border-top: 12rpx solid #707070;
 | 
			
		||||
                    border-left: 11rpx solid #fff ;
 | 
			
		||||
                    border-right: 11rpx solid #fff ;
 | 
			
		||||
                }
 | 
			
		||||
                .topxz{
 | 
			
		||||
                    border-bottom: 12rpx solid #FF780F;
 | 
			
		||||
                }
 | 
			
		||||
                .bottomxz{
 | 
			
		||||
                    border-top: 12rpx solid #FF780F;
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
        .xz{
 | 
			
		||||
            color:#FF780F;
 | 
			
		||||
        }
 | 
			
		||||
        
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
</style>
 | 
			
		||||
<script>
 | 
			
		||||
@ -81,7 +136,8 @@ export default {
 | 
			
		||||
            ],
 | 
			
		||||
            current: 0, 
 | 
			
		||||
            swiperCurrent: 0,
 | 
			
		||||
            keyword:""
 | 
			
		||||
            keyword:"",
 | 
			
		||||
            type:""
 | 
			
		||||
        }
 | 
			
		||||
    }, methods: { 
 | 
			
		||||
        tabsChange(index) {
 | 
			
		||||
@ -96,7 +152,14 @@ export default {
 | 
			
		||||
            this.$refs.uTabs.setFinishCurrent(current); 
 | 
			
		||||
            this.swiperCurrent = current; 
 | 
			
		||||
            this.current = current; 
 | 
			
		||||
        },
 | 
			
		||||
        sx(type){
 | 
			
		||||
            console.log(type)
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
    onLoad(o){
 | 
			
		||||
        this.type = o.type
 | 
			
		||||
        this.keyword = o.value
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
</script>
 | 
			
		||||
@ -80,7 +80,8 @@ export default {
 | 
			
		||||
					this.avatar = res.tempFilePaths[0];
 | 
			
		||||
					common.uploadFile({ 
 | 
			
		||||
						url: url,
 | 
			
		||||
						filePath: res.tempFilePaths[0] 
 | 
			
		||||
						name: 'avatar',
 | 
			
		||||
						filePath: res.tempFilePaths[0]
 | 
			
		||||
					}).then(result => {
 | 
			
		||||
						this.avatar = result;
 | 
			
		||||
					}, error => {
 | 
			
		||||
 | 
			
		||||
@ -17,7 +17,10 @@
 | 
			
		||||
						</view>
 | 
			
		||||
						<view @click="viewProgress">
 | 
			
		||||
							<view class="title">预计进度</view>
 | 
			
		||||
							<view class="value">{{ memberInfo.next_grade_exppoints_diff }}</view>
 | 
			
		||||
							<!-- <view class="value">{{ memberInfo.next_grade_exppoints_diff }}</view> -->
 | 
			
		||||
							<view class="value">
 | 
			
		||||
								<image src="/static/image/mine/32.png"></image>
 | 
			
		||||
							</view>
 | 
			
		||||
						</view>
 | 
			
		||||
					</view>
 | 
			
		||||
					<scroll-view scroll-y class="integral-botom" :style="{ height: richHeight }">
 | 
			
		||||
@ -151,6 +154,10 @@ export default {
 | 
			
		||||
						font-size: 48rpx;
 | 
			
		||||
						font-weight: 500;
 | 
			
		||||
						color: rgba(255,255,255,1);
 | 
			
		||||
						> image {
 | 
			
		||||
							width: 52rpx;
 | 
			
		||||
							height: 35rpx;
 | 
			
		||||
						}
 | 
			
		||||
					}
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
@ -1,33 +1,30 @@
 | 
			
		||||
<template>
 | 
			
		||||
	<view class="complaints">
 | 
			
		||||
		<view class="complaints-box" v-for="item in feedbackList" :key="item.fb_id">
 | 
			
		||||
			<view class="suggestions">
 | 
			
		||||
				<view class="text">{{ item.fb_content }}</view>
 | 
			
		||||
				<view class="image">
 | 
			
		||||
					<image v-for="(url, index) in item.fb_images" :key="index" :src="url"></image>
 | 
			
		||||
		<scroll-view scroll-y @scrolltolower="reachBottom">
 | 
			
		||||
			<view class="complaints-box" v-for="item in feedbackList" :key="item.fb_id">
 | 
			
		||||
				<view class="suggestions">
 | 
			
		||||
					<view class="text">{{ item.fb_content }}</view>
 | 
			
		||||
					<view class="image">
 | 
			
		||||
						<image v-for="(url, index) in item.fb_images" :key="index" :src="url"></image>
 | 
			
		||||
					</view>
 | 
			
		||||
				</view>
 | 
			
		||||
				<view class="reply" v-if="item.is_reply">
 | 
			
		||||
					<view class="reply-title">后台回复:</view>
 | 
			
		||||
					<view class="reply-content u-line-4">{{ item.reply_content }}</view>
 | 
			
		||||
				</view>
 | 
			
		||||
				<view class="date">
 | 
			
		||||
					<image src="../static/mine/26.png"></image>
 | 
			
		||||
					<view>{{ item.fb_time }}</view>
 | 
			
		||||
				</view>
 | 
			
		||||
			</view>
 | 
			
		||||
			<view class="reply">
 | 
			
		||||
				<view class="reply-title">后台回复:</view>
 | 
			
		||||
				<view class="reply-content u-line-4">{{ item.reply_content }}</view>
 | 
			
		||||
			</view>
 | 
			
		||||
			<view class="date">
 | 
			
		||||
				<image src="../static/mine/26.png"></image>
 | 
			
		||||
				<view>{{ reply_time }}</view>
 | 
			
		||||
			</view>
 | 
			
		||||
		</view>
 | 
			
		||||
			<u-empty text="暂无意见" mode="list" color="#000000" icon-size="90" margin-top="300" v-if="!feedbackList.length"></u-empty>
 | 
			
		||||
		</scroll-view>
 | 
			
		||||
	</view>
 | 
			
		||||
</template>
 | 
			
		||||
<script>
 | 
			
		||||
export default {
 | 
			
		||||
	data() {
 | 
			
		||||
		return {
 | 
			
		||||
			imgList: [
 | 
			
		||||
				require('../static/mine/23.png'),
 | 
			
		||||
				require('../static/mine/23.png'),
 | 
			
		||||
				require('../static/mine/23.png'),
 | 
			
		||||
				require('../static/mine/23.png')
 | 
			
		||||
			],
 | 
			
		||||
			feedbackList: [],
 | 
			
		||||
			page: 1, // 默认1
 | 
			
		||||
		}
 | 
			
		||||
@ -59,6 +56,7 @@ export default {
 | 
			
		||||
	.complaints-box {
 | 
			
		||||
		padding: 30rpx;
 | 
			
		||||
		background-color: #ffffff;
 | 
			
		||||
		margin-bottom: 20rpx;
 | 
			
		||||
		.suggestions {
 | 
			
		||||
			.text {
 | 
			
		||||
				font-size: 26rpx;
 | 
			
		||||
 | 
			
		||||
@ -5,8 +5,13 @@
 | 
			
		||||
			<u-upload 
 | 
			
		||||
				ref="uUpload"
 | 
			
		||||
				:custom-btn="true" 
 | 
			
		||||
				:max-count="count" 
 | 
			
		||||
				:max-count="count"
 | 
			
		||||
				:action="action"
 | 
			
		||||
				:auto-upload="false"
 | 
			
		||||
				:header="header"
 | 
			
		||||
				:form-data="formData"
 | 
			
		||||
				:name="name"
 | 
			
		||||
				@on-uploaded="setImageList"
 | 
			
		||||
			>
 | 
			
		||||
				<view slot="addBtn" class="slot-btn" hover-class="slot-btn__hover" hover-stay-time="150">
 | 
			
		||||
					<img src="../static/mine/27.png" />
 | 
			
		||||
@ -14,45 +19,61 @@
 | 
			
		||||
			</u-upload>
 | 
			
		||||
		</view>
 | 
			
		||||
		<view class="write-btn" @click="submit">发表意见</view>
 | 
			
		||||
		<u-toast ref="uToast" />
 | 
			
		||||
	</view>
 | 
			
		||||
</template>
 | 
			
		||||
<script>
 | 
			
		||||
export default {
 | 
			
		||||
	data() {
 | 
			
		||||
		return {
 | 
			
		||||
			action: $u.http.baseUrl + 'Upload/uploadfile',
 | 
			
		||||
			action: this.$u.http.config.baseUrl + '/Upload/uploadfile',
 | 
			
		||||
			count: 4, // 最大图片数量
 | 
			
		||||
			text: '',
 | 
			
		||||
			imageList: []
 | 
			
		||||
			header: {
 | 
			
		||||
				"authorization": 'Bearer' + " " + uni.getStorageSync('token')
 | 
			
		||||
			},
 | 
			
		||||
			name: 'common', // 与formData name 一样
 | 
			
		||||
			formData: {
 | 
			
		||||
				name: 'common', // 其他图片
 | 
			
		||||
			},
 | 
			
		||||
			imageList: [],
 | 
			
		||||
		}
 | 
			
		||||
	},
 | 
			
		||||
	methods: {
 | 
			
		||||
		submit() {
 | 
			
		||||
			console.log(this.action);
 | 
			
		||||
			console.log(this.imageList);
 | 
			
		||||
			
 | 
			
		||||
			// this.$refs.uUpload.upload();
 | 
			
		||||
			let promise = [];
 | 
			
		||||
			this.imageList.forEach(url => {
 | 
			
		||||
				// this.uploadImage(url);
 | 
			
		||||
			})
 | 
			
		||||
			Promise.all(promise).then(() => {
 | 
			
		||||
				
 | 
			
		||||
			})
 | 
			
		||||
			this.$refs.uUpload.upload();
 | 
			
		||||
		},
 | 
			
		||||
		async uploadImage(file) {
 | 
			
		||||
			this.$u.api.uploadfile({ 
 | 
			
		||||
				file: file,
 | 
			
		||||
			}).then(res => {
 | 
			
		||||
				if(res.errCode == 0) {}
 | 
			
		||||
		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.imageList = imageList;
 | 
			
		||||
			this.writeFeedback();
 | 
			
		||||
		},
 | 
			
		||||
		verifyContent() {
 | 
			
		||||
			if(this.$u.test.isEmpty(this.text)) {
 | 
			
		||||
				this.$u.toast('内容不可为空');
 | 
			
		||||
				return false;
 | 
			
		||||
			}
 | 
			
		||||
			return true;
 | 
			
		||||
		},
 | 
			
		||||
		writeFeedback() {
 | 
			
		||||
			if(!this.verifyContent()) return false;
 | 
			
		||||
			this.$u.api.writeFeedback({ 
 | 
			
		||||
				fb_content: this.text,
 | 
			
		||||
				fb_images: '',
 | 
			
		||||
				fb_images: this.imageList,
 | 
			
		||||
			}).then(res => {
 | 
			
		||||
				if(res.errCode == 0) {}
 | 
			
		||||
				if(res.errCode == 0) {
 | 
			
		||||
					this.$u.route({
 | 
			
		||||
						type: "redirect",
 | 
			
		||||
						url: '/pageE/more/Complaints',
 | 
			
		||||
					})
 | 
			
		||||
				} else {
 | 
			
		||||
					this.$u.toast(res.message);
 | 
			
		||||
				}
 | 
			
		||||
			})
 | 
			
		||||
		},
 | 
			
		||||
	},
 | 
			
		||||
 | 
			
		||||
@ -17,30 +17,63 @@
 | 
			
		||||
		<view class="rate">
 | 
			
		||||
			<view>
 | 
			
		||||
				<view class="title">物流评分</view>
 | 
			
		||||
				<u-rate :count="5" current="1" active-color="#FF780F" inactive-color="#CCCCCC" gutter="20" size="32"></u-rate>
 | 
			
		||||
				<u-rate :count="5" active-color="#FF780F" inactive-color="#CCCCCC" v-model="logistics" gutter="20" size="32"></u-rate>
 | 
			
		||||
			</view>
 | 
			
		||||
			<view>
 | 
			
		||||
				<view class="title">服务态度</view>
 | 
			
		||||
				<u-rate :count="5" current="1" active-color="#FF780F" inactive-color="#CCCCCC" gutter="20" size="32"></u-rate>
 | 
			
		||||
				<u-rate :count="5" v-model="service" active-color="#FF780F" inactive-color="#CCCCCC" gutter="20" size="32"></u-rate>
 | 
			
		||||
			</view>
 | 
			
		||||
			<view>
 | 
			
		||||
				<view class="title">描述相符</view>
 | 
			
		||||
				<u-rate :count="5" current="1" active-color="#FF780F" inactive-color="#CCCCCC" gutter="20" size="32"></u-rate>
 | 
			
		||||
				<u-rate :count="5" v-model="describe" active-color="#FF780F" inactive-color="#CCCCCC" gutter="20" size="32"></u-rate>
 | 
			
		||||
			</view>
 | 
			
		||||
		</view>
 | 
			
		||||
		<view class="write-btn">发表意见</view>
 | 
			
		||||
		<view class="write-btn" @click="addOrderEvaluate">发表意见</view>
 | 
			
		||||
	</view>
 | 
			
		||||
</template>
 | 
			
		||||
<script>
 | 
			
		||||
export default {
 | 
			
		||||
	data() {
 | 
			
		||||
		return {
 | 
			
		||||
			count: 4,
 | 
			
		||||
			logistics: 1,
 | 
			
		||||
			service: 1,
 | 
			
		||||
			describe: 1
 | 
			
		||||
			orderId: '',
 | 
			
		||||
			count: 4, // 最大图片数量
 | 
			
		||||
			logistics: 5,
 | 
			
		||||
			service: 5,
 | 
			
		||||
			describe: 5,
 | 
			
		||||
			content: '',
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
	},
 | 
			
		||||
	onLoad(option) {
 | 
			
		||||
		this.orderId = option.oid;
 | 
			
		||||
	},
 | 
			
		||||
	methods: {
 | 
			
		||||
		verifyParams() {
 | 
			
		||||
			if(this.$u.test.isEmpty(this.content)) {
 | 
			
		||||
				this.$u.toast('内容不可为空');
 | 
			
		||||
				return false;
 | 
			
		||||
			}
 | 
			
		||||
			return true;
 | 
			
		||||
		},
 | 
			
		||||
		addOrderEvaluate() {
 | 
			
		||||
			if(!this.verifyParams()) return false;
 | 
			
		||||
			console.log(this.logistics);
 | 
			
		||||
			console.log(this.service);
 | 
			
		||||
			console.log(this.describe);
 | 
			
		||||
			this.$u.api.updateOrderEvaluate({
 | 
			
		||||
				id: this.orderId,
 | 
			
		||||
				content: this.content,
 | 
			
		||||
				scores_one: this.logistics,
 | 
			
		||||
				scores_two: this.service,
 | 
			
		||||
				scores_three: this.describe,
 | 
			
		||||
				file: '',
 | 
			
		||||
			}).then(res => {
 | 
			
		||||
				
 | 
			
		||||
			})
 | 
			
		||||
		},
 | 
			
		||||
		bindTextAreaBlur(event) {
 | 
			
		||||
			this.content = event.detail.value;
 | 
			
		||||
		}
 | 
			
		||||
	},
 | 
			
		||||
};
 | 
			
		||||
</script>
 | 
			
		||||
<style lang="scss" scoped>
 | 
			
		||||
 | 
			
		||||
@ -1,11 +1,11 @@
 | 
			
		||||
<template>
 | 
			
		||||
	<view class="details">
 | 
			
		||||
		<view class="status">
 | 
			
		||||
	<view class="details" v-if="orderInfo.extend_store">
 | 
			
		||||
		<view class="status" v-if="state">
 | 
			
		||||
			<view class="text">
 | 
			
		||||
				<view class="status-text">交易成功</view>
 | 
			
		||||
				<view class="time" v-if="current == 2">距离结束22:22:22</view>
 | 
			
		||||
				<view class="status-text">{{ s_object[state].text }}</view>
 | 
			
		||||
				<view class="time" v-if="state == '2'">距离结束22:22:22</view>
 | 
			
		||||
			</view>
 | 
			
		||||
			<image src="../static/mine/31.png" v-if="current"></image>
 | 
			
		||||
			<image :src="s_object[state].image"></image>
 | 
			
		||||
		</view>
 | 
			
		||||
		<view class="info">
 | 
			
		||||
			<view class="info-address">
 | 
			
		||||
@ -21,17 +21,19 @@
 | 
			
		||||
			<view class="info-goods">
 | 
			
		||||
				<view class="goods-store">
 | 
			
		||||
					<view class="stoer-title">
 | 
			
		||||
						<image src="../static/mine/23.png" class="store-image"></image>
 | 
			
		||||
						<view class="store-name">胖胖的店</view>
 | 
			
		||||
						<image :src="orderInfo.extend_store.store_avatar" class="store-image"></image>
 | 
			
		||||
						<view class="store-name">{{ orderInfo.extend_store.store_name }}</view>
 | 
			
		||||
						<image src="../static/mine/21.png" class="right-icon"></image>
 | 
			
		||||
					</view>
 | 
			
		||||
					<view class="store-goods">
 | 
			
		||||
						<image src="../static/mine/23.png"></image>
 | 
			
		||||
						<view class="goods-info">
 | 
			
		||||
							<view class="goods-name u-line-2">木糖少女小紫薯西装领连衣裙夏季新款女装夏收腰格子格纹裙子木糖少女小紫薯西装领连衣裙夏季新款女装夏收腰格子格纹裙子</view>
 | 
			
		||||
							<view class="goods-order">
 | 
			
		||||
								<view class="price">¥99</view>
 | 
			
		||||
								<view class="num">x2</view>
 | 
			
		||||
					<view v-for="goods in orderInfo.extend_order_goods" :key="goods.goods_id">
 | 
			
		||||
						<view class="store-goods">
 | 
			
		||||
							<image :src="goods.goods_image"></image>
 | 
			
		||||
							<view class="goods-info">
 | 
			
		||||
								<view class="goods-name u-line-2">{{ goods.goods_name }}</view>
 | 
			
		||||
								<view class="goods-order">
 | 
			
		||||
									<view class="price">¥{{ goods.goods_pay_price }}</view>
 | 
			
		||||
									<view class="num">x{{ goods.goods_num }}</view>
 | 
			
		||||
								</view>
 | 
			
		||||
							</view>
 | 
			
		||||
						</view>
 | 
			
		||||
					</view>
 | 
			
		||||
@ -47,28 +49,29 @@
 | 
			
		||||
					</view>
 | 
			
		||||
					<view>
 | 
			
		||||
						<view class="title">订单总价</view>
 | 
			
		||||
						<view class="price">¥0.00</view>
 | 
			
		||||
						<view class="price">¥{{ orderInfo.order_amount }}</view>
 | 
			
		||||
					</view>
 | 
			
		||||
					<view>
 | 
			
		||||
						<view class="title">实付费(含运费)</view>
 | 
			
		||||
						<view class="price">¥0.00</view>
 | 
			
		||||
						<view class="price">¥{{ orderInfo.goods_amount }}</view>
 | 
			
		||||
					</view>
 | 
			
		||||
					<view>
 | 
			
		||||
						<view class="title">支付方式</view>
 | 
			
		||||
						<view class="price">¥0.00</view>
 | 
			
		||||
						<view class="price">{{ orderInfo.payment_name }}</view>
 | 
			
		||||
					</view>
 | 
			
		||||
				</view>
 | 
			
		||||
			</view>
 | 
			
		||||
			<view class="info-order">
 | 
			
		||||
				<view>订单编号:2222222222222222</view>
 | 
			
		||||
				<view>微信交易号:2222222222222222</view>
 | 
			
		||||
				<view>创建时间:2020-05-14</view>
 | 
			
		||||
				<view>订单编号:{{ orderInfo.order_sn }}</view>
 | 
			
		||||
				<view>支付单号:{{ orderInfo.pay_sn }}</view>
 | 
			
		||||
				<view>创建时间:{{ orderInfo.add_time | date}}</view>
 | 
			
		||||
			</view>
 | 
			
		||||
		</view>
 | 
			
		||||
		<view class="btn" v-if="[0, 2, 4].indexOf(current) < 0">
 | 
			
		||||
			<view class="logistics" v-if="current == 3" @click="toOtherPage('Logistics')">查看物流</view>
 | 
			
		||||
			<view class="comment" v-if="current == 5">立即评价</view>
 | 
			
		||||
			<view class="payment" v-if="current == 1">立即支付</view>
 | 
			
		||||
		<view class="btn" v-if="['1', '2', '6'].indexOf(state) >= 0">
 | 
			
		||||
			<view class="logistics" v-if="state == '1'" @click="toOtherPage('Logistics')">查看物流</view>
 | 
			
		||||
			<view class="comment" v-if="state == '2'" @click="toOtherPage('Comment')">立即评价</view>
 | 
			
		||||
			<view class="cancel" v-if="state == '6'">取消支付</view>
 | 
			
		||||
			<view class="payment" v-if="state == '6'">立即支付</view>
 | 
			
		||||
			<view class="service" v-if="current == 6">联系官方客服</view>
 | 
			
		||||
			<view class="submit" v-if="current == 6">提交官方审核</view>
 | 
			
		||||
		</view>
 | 
			
		||||
@ -78,31 +81,80 @@
 | 
			
		||||
export default {
 | 
			
		||||
	data() {
 | 
			
		||||
		return {
 | 
			
		||||
			state: '', // 1: 待收货 2: 待评价 3: 交易成功 4: 已取消 5: 已退款 6: 待支付
 | 
			
		||||
			s_object: {
 | 
			
		||||
				'1': {
 | 
			
		||||
					text: '待收货',
 | 
			
		||||
					image: '../static/mine/32.png',
 | 
			
		||||
				},
 | 
			
		||||
				'2': {
 | 
			
		||||
					text: '待评价',
 | 
			
		||||
					image: '../static/mine/35.png',
 | 
			
		||||
				},
 | 
			
		||||
				'3': {
 | 
			
		||||
					text: '交易成功',
 | 
			
		||||
					image: '../static/mine/31.png',
 | 
			
		||||
				},
 | 
			
		||||
				'4': {
 | 
			
		||||
					text: '已取消',
 | 
			
		||||
					image: '../static/mine/33.png',
 | 
			
		||||
				},
 | 
			
		||||
				'5': {
 | 
			
		||||
					text: '已退款',
 | 
			
		||||
					image: '../static/mine/34.png',
 | 
			
		||||
				},
 | 
			
		||||
				'6': {
 | 
			
		||||
					text: '待支付',
 | 
			
		||||
					image: '../static/mine/31.png',
 | 
			
		||||
				},
 | 
			
		||||
			},
 | 
			
		||||
			current: 0,
 | 
			
		||||
			orderInfo: {}
 | 
			
		||||
		}
 | 
			
		||||
	},
 | 
			
		||||
	onLoad(option) {
 | 
			
		||||
		this.current = option.current;
 | 
			
		||||
		console.log(option.current);
 | 
			
		||||
		this.setTitle();
 | 
			
		||||
		this.getOrderInfo(option.id);
 | 
			
		||||
	},
 | 
			
		||||
	methods: {
 | 
			
		||||
		viewState(value) {
 | 
			
		||||
			let state;
 | 
			
		||||
			switch (value) {
 | 
			
		||||
				case 0: // 已取消
 | 
			
		||||
					state = '4';
 | 
			
		||||
					break;
 | 
			
		||||
				case 10: // 未付款
 | 
			
		||||
					state = '6';
 | 
			
		||||
					break;
 | 
			
		||||
				case 20: // 已付款
 | 
			
		||||
					state = '3';
 | 
			
		||||
					break;
 | 
			
		||||
				case 30: // 已发货
 | 
			
		||||
					state = '1';
 | 
			
		||||
					break;
 | 
			
		||||
				case 40: // 已收货
 | 
			
		||||
					if(this.orderInfo.evaluation_state == 0) state = '2';
 | 
			
		||||
					break;
 | 
			
		||||
				default:
 | 
			
		||||
					break;
 | 
			
		||||
			}
 | 
			
		||||
			if(this.orderInfo.refund_state) state = '5';
 | 
			
		||||
			this.state = state;
 | 
			
		||||
		},
 | 
			
		||||
		getOrderInfo(id) {
 | 
			
		||||
			this.$u.api.getOrderInfo({
 | 
			
		||||
				order_id: id,
 | 
			
		||||
			}).then(res => {
 | 
			
		||||
				if(res.errCode == 0) {
 | 
			
		||||
					this.orderInfo = res.data;
 | 
			
		||||
					this.viewState(this.orderInfo.order_state);
 | 
			
		||||
				}
 | 
			
		||||
			})
 | 
			
		||||
		},
 | 
			
		||||
		setTitle(){
 | 
			
		||||
			let title = ''
 | 
			
		||||
			let title = '';
 | 
			
		||||
			switch (this.current) {
 | 
			
		||||
				case '1':
 | 
			
		||||
					console.log(title);
 | 
			
		||||
					
 | 
			
		||||
					title = "支付成功"
 | 
			
		||||
					break;
 | 
			
		||||
				default:
 | 
			
		||||
@ -114,8 +166,8 @@ export default {
 | 
			
		||||
			});
 | 
			
		||||
		},
 | 
			
		||||
		toOtherPage(url) {
 | 
			
		||||
			uni.navigateTo({
 | 
			
		||||
				url: '/pageE/order/' + url
 | 
			
		||||
			this.$u.route('/pageE/order/' + url, {
 | 
			
		||||
				oid: this.orderInfo.order_id,
 | 
			
		||||
			});
 | 
			
		||||
		}
 | 
			
		||||
	},
 | 
			
		||||
@ -125,17 +177,15 @@ export default {
 | 
			
		||||
.details {
 | 
			
		||||
	min-height: calc(100vh - var(--window-top));
 | 
			
		||||
	background-color: #ECECEC;
 | 
			
		||||
	padding-bottom: 98rpx;
 | 
			
		||||
	.status {
 | 
			
		||||
		position: fixed;
 | 
			
		||||
		top: 0;
 | 
			
		||||
		left: 0;
 | 
			
		||||
		display: flex;
 | 
			
		||||
		height: calc(180rpx + var(--window-top));
 | 
			
		||||
		height: 180rpx;
 | 
			
		||||
		// height: calc(180rpx + var(--window-top));
 | 
			
		||||
		width: 100%;
 | 
			
		||||
		background: rgba(255,120,15,1);
 | 
			
		||||
		z-index: 9;
 | 
			
		||||
		background: #ff780f;
 | 
			
		||||
		.text {
 | 
			
		||||
			margin: calc(74rpx + var(--window-top)) auto 0 73rpx;
 | 
			
		||||
			margin: 74rpx auto 0 73rpx;
 | 
			
		||||
			color: rgba(255,255,255,1);
 | 
			
		||||
			.status-text {
 | 
			
		||||
				font-size: 36rpx;
 | 
			
		||||
@ -149,14 +199,13 @@ export default {
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		> image {
 | 
			
		||||
			margin: calc(36rpx + var(--window-top)) 70rpx 0 0;
 | 
			
		||||
			margin: 36rpx 70rpx 0 0;
 | 
			
		||||
			width: 126rpx;
 | 
			
		||||
			height: 109rpx;
 | 
			
		||||
			flex-shrink: 0;
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
	.info {
 | 
			
		||||
		padding-top: 180rpx;
 | 
			
		||||
		margin-bottom: 10rpx;
 | 
			
		||||
		.info-address {
 | 
			
		||||
			padding: 30rpx;
 | 
			
		||||
@ -281,6 +330,10 @@ export default {
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
	.btn {
 | 
			
		||||
		position: fixed;
 | 
			
		||||
		bottom: 0;
 | 
			
		||||
		left: 0;
 | 
			
		||||
		width: 100%;
 | 
			
		||||
		height: 98rpx;
 | 
			
		||||
		background: rgba(255,255,255,1);
 | 
			
		||||
		display: flex;
 | 
			
		||||
@ -301,6 +354,9 @@ export default {
 | 
			
		||||
		.logistics, .comment, .payment {
 | 
			
		||||
			@include btn-class($width: 160rpx, $color: rgba(255,119,15,1));
 | 
			
		||||
		}
 | 
			
		||||
		.cancel {
 | 
			
		||||
			@include btn-class($width: 160rpx, $color: rgba(155,153,153,1));
 | 
			
		||||
		}
 | 
			
		||||
		.service {
 | 
			
		||||
			@include btn-class($width: 216rpx, $color: rgba(155,153,153,1));
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
@ -41,7 +41,7 @@ export default {
 | 
			
		||||
			orderList: [],
 | 
			
		||||
			loadStatus: ['loadmore','loadmore','loadmore','loadmore','loadmore','loadmore','loadmore'],
 | 
			
		||||
			page: 0,
 | 
			
		||||
			current: 0,
 | 
			
		||||
			current: Number,
 | 
			
		||||
			swiperCurrent: 0,
 | 
			
		||||
			swiperHeight: '',
 | 
			
		||||
			timer: true,
 | 
			
		||||
@ -51,9 +51,9 @@ export default {
 | 
			
		||||
		OrderItem
 | 
			
		||||
	},
 | 
			
		||||
	watch: {
 | 
			
		||||
		current() {
 | 
			
		||||
		current(value) {
 | 
			
		||||
			this.page = 0;
 | 
			
		||||
			this.getOrderList('again');
 | 
			
		||||
			this.getOrderList({ reload: 'again' });
 | 
			
		||||
		},
 | 
			
		||||
	},
 | 
			
		||||
	onLoad(option) {
 | 
			
		||||
@ -63,7 +63,7 @@ export default {
 | 
			
		||||
		this.setViewHeight();
 | 
			
		||||
	},
 | 
			
		||||
	methods: {
 | 
			
		||||
		async getOrderList(reload = '') {
 | 
			
		||||
		async getOrderList({ reload = '' } = {}) {
 | 
			
		||||
			let type;
 | 
			
		||||
			// state_type 订单状态:0:已取消 10:未付款 20:已付款 30:已发货 40:已收货
 | 
			
		||||
			switch (this.current) {
 | 
			
		||||
@ -80,7 +80,7 @@ export default {
 | 
			
		||||
					type = -1; // 试穿试送
 | 
			
		||||
					break;
 | 
			
		||||
				case 5:
 | 
			
		||||
					type = 20; // 待评价
 | 
			
		||||
					type = 'state_noeval'; // 待评价
 | 
			
		||||
					break;
 | 
			
		||||
				case 6:
 | 
			
		||||
					type = 40; // 售后
 | 
			
		||||
@ -92,22 +92,25 @@ export default {
 | 
			
		||||
			const res = await this.$u.api.getOrderList({
 | 
			
		||||
				page: this.page,
 | 
			
		||||
				type: type,
 | 
			
		||||
				refund_state: this.current == 6 ? '1' : 0, // 判断是不是售后列表
 | 
			
		||||
			})
 | 
			
		||||
			this.timer = true;
 | 
			
		||||
			if(res.errCode == 0) {
 | 
			
		||||
				if(reload) this.orderList = res.data;
 | 
			
		||||
				else this.orderList.push(...res.data);
 | 
			
		||||
			}
 | 
			
		||||
			return res.data.length;
 | 
			
		||||
			return res;
 | 
			
		||||
		},
 | 
			
		||||
		reachBottom() {
 | 
			
		||||
			// 大于15条才会加载更多
 | 
			
		||||
			if(this.orderList.length < 15) return false;
 | 
			
		||||
			if(!this.timer) return false;
 | 
			
		||||
			this.timer = false;
 | 
			
		||||
			this.loadStatus.splice(this.current, 1, "loading");
 | 
			
		||||
			this.page++;
 | 
			
		||||
			this.getOrderList.then(length => {
 | 
			
		||||
			this.getOrderList().then(res => {
 | 
			
		||||
				this.loadStatus.splice(this.current, 1, "nomore");
 | 
			
		||||
				if(length == 0) this.page--;
 | 
			
		||||
				if(res.data.length == 0) this.page--;
 | 
			
		||||
			}).catch(() => {
 | 
			
		||||
				this.loadStatus.splice(this.current, 1, "nomore");
 | 
			
		||||
				this.page--;
 | 
			
		||||
@ -135,9 +138,6 @@ export default {
 | 
			
		||||
	background-color: #ECECEC;
 | 
			
		||||
	display: flex;
 | 
			
		||||
	flex-direction: column;
 | 
			
		||||
	// > uni-swiper {
 | 
			
		||||
	// 	flex: 1;
 | 
			
		||||
	// }
 | 
			
		||||
	.swiper-item {
 | 
			
		||||
		.item-container {
 | 
			
		||||
			padding: 20rpx 30rpx;
 | 
			
		||||
 | 
			
		||||
@ -59,6 +59,10 @@ export default {
 | 
			
		||||
					title: '证件中心',
 | 
			
		||||
					link: '../mine/ArticleDetails?type=1'
 | 
			
		||||
				},
 | 
			
		||||
				{
 | 
			
		||||
					title: '屏蔽用户',
 | 
			
		||||
					link: './ShieldUsers'
 | 
			
		||||
				},
 | 
			
		||||
				{
 | 
			
		||||
					title: '关于我们',
 | 
			
		||||
					link: '../mine/ArticleDetails?type=2'
 | 
			
		||||
@ -66,7 +70,7 @@ export default {
 | 
			
		||||
				{
 | 
			
		||||
					title: '帮助与反馈',
 | 
			
		||||
					link: './feedback'
 | 
			
		||||
				}
 | 
			
		||||
				},
 | 
			
		||||
			]
 | 
			
		||||
		}
 | 
			
		||||
	},
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										59
									
								
								pageE/setting/ShieldUsers.vue
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										59
									
								
								pageE/setting/ShieldUsers.vue
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,59 @@
 | 
			
		||||
<template>
 | 
			
		||||
	<view class="shield">
 | 
			
		||||
		<view class="shield-list" v-for="(item, index) in 5" :key="index">
 | 
			
		||||
			<view class="infomation">
 | 
			
		||||
				<u-avatar :src="src" size="80"></u-avatar>
 | 
			
		||||
				<view class="nickname u-line-1">神的温柔</view>
 | 
			
		||||
			</view>
 | 
			
		||||
			<view class="btn">取消屏蔽</view>
 | 
			
		||||
		</view>
 | 
			
		||||
	</view>
 | 
			
		||||
</template>
 | 
			
		||||
<script>
 | 
			
		||||
export default {
 | 
			
		||||
	data() {
 | 
			
		||||
		return {
 | 
			
		||||
			src: 'https://dmmall.sdbairui.com/uploads/home/avatar/avatar_19.jpg'
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
};
 | 
			
		||||
</script>
 | 
			
		||||
<style lang="scss" scoped>
 | 
			
		||||
.shield {
 | 
			
		||||
	min-height: calc(100vh - var(--window-top));
 | 
			
		||||
	background-color: #ECECEC;
 | 
			
		||||
	padding-top: 1rpx;
 | 
			
		||||
	.shield-list {
 | 
			
		||||
		background-color: #FFF;;
 | 
			
		||||
		display: flex;
 | 
			
		||||
		align-items: center;
 | 
			
		||||
		justify-content: space-between;
 | 
			
		||||
		padding: 10rpx 30rpx;
 | 
			
		||||
		color:rgba(51,51,51,1);
 | 
			
		||||
		margin-bottom: 2rpx;
 | 
			
		||||
		.infomation {
 | 
			
		||||
			display: flex;
 | 
			
		||||
			align-items: center;
 | 
			
		||||
			.nickname {
 | 
			
		||||
				width: 300rpx;
 | 
			
		||||
				font-size: 28rpx;
 | 
			
		||||
				margin-left: 20rpx;
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		.btn {
 | 
			
		||||
			font-size: 24rpx;
 | 
			
		||||
			position: relative;
 | 
			
		||||
			&::before {
 | 
			
		||||
				position: absolute;
 | 
			
		||||
				left: -30rpx;
 | 
			
		||||
				top: 50%;
 | 
			
		||||
				transform: translate(0, -50%);
 | 
			
		||||
				content: '';
 | 
			
		||||
				width: 1rpx;
 | 
			
		||||
				height: 38rpx;
 | 
			
		||||
				background: rgba(236,236,236,1);
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
</style>
 | 
			
		||||
@ -1,14 +1,18 @@
 | 
			
		||||
<template>
 | 
			
		||||
	<view class="manicure-order">
 | 
			
		||||
		<view class="order-form">
 | 
			
		||||
			<view class="order-name">
 | 
			
		||||
			<!-- <view class="order-name">
 | 
			
		||||
				<view>美甲人:</view>
 | 
			
		||||
				<input type="text" v-model="name" />
 | 
			
		||||
			</view>
 | 
			
		||||
			</view> -->
 | 
			
		||||
			<view class="order-date" @click="show=true">
 | 
			
		||||
				<view>美甲时间:</view>
 | 
			
		||||
				<img src="../static/mine/21.png" v-if="!time" />
 | 
			
		||||
				<view v-else>{{ time }}</view>
 | 
			
		||||
				<view class="title">美甲时间:</view>
 | 
			
		||||
				<image src="../static/mine/21.png" v-if="!time"></image>
 | 
			
		||||
				<view v-else class="time">{{ time }}</view>
 | 
			
		||||
			</view>
 | 
			
		||||
			<view class="order-address">
 | 
			
		||||
				<view class="title">美甲地址:</view>
 | 
			
		||||
				<input type="text" v-model="address" disabled />
 | 
			
		||||
			</view>
 | 
			
		||||
		</view>
 | 
			
		||||
		<view class="order-btn" @click="addManicureOrder">确认订单</view>
 | 
			
		||||
@ -22,6 +26,7 @@ export default {
 | 
			
		||||
		return {
 | 
			
		||||
			name: '',
 | 
			
		||||
			time: '',
 | 
			
		||||
			address: '四川省攀枝花市银江镇',
 | 
			
		||||
			params: {
 | 
			
		||||
				year: true,
 | 
			
		||||
				month: true,
 | 
			
		||||
@ -96,8 +101,11 @@ export default {
 | 
			
		||||
			&:not(:last-child) {
 | 
			
		||||
				margin-bottom: 2rpx;
 | 
			
		||||
			}
 | 
			
		||||
			.title {
 | 
			
		||||
				font-size: 30rpx;
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		.order-name {
 | 
			
		||||
		.order-address {
 | 
			
		||||
			display: flex;
 | 
			
		||||
			align-items: center;
 | 
			
		||||
			> view {
 | 
			
		||||
@ -105,18 +113,24 @@ export default {
 | 
			
		||||
				color: rgba(51,51,51,1);
 | 
			
		||||
			}
 | 
			
		||||
			> input {
 | 
			
		||||
				padding-left: 20rpx;
 | 
			
		||||
				flex: 1;
 | 
			
		||||
				text-align: right;
 | 
			
		||||
				font-size: 28rpx;
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		.order-date {
 | 
			
		||||
			display: flex;
 | 
			
		||||
			align-items: center;
 | 
			
		||||
			justify-content: space-between;
 | 
			
		||||
			> img {
 | 
			
		||||
			> image {
 | 
			
		||||
				width: 14rpx;
 | 
			
		||||
				height :24rpx;
 | 
			
		||||
			}
 | 
			
		||||
			.time {
 | 
			
		||||
				padding-left: 20rpx;
 | 
			
		||||
				flex: 1;
 | 
			
		||||
				text-align: left;
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
	.order-btn {
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										15
									
								
								pages.json
									
									
									
									
									
								
							
							
						
						
									
										15
									
								
								pages.json
									
									
									
									
									
								
							@ -715,6 +715,19 @@
 | 
			
		||||
						}
 | 
			
		||||
					}
 | 
			
		||||
				},
 | 
			
		||||
				{
 | 
			
		||||
					"path": "setting/ShieldUsers",
 | 
			
		||||
					"style": {
 | 
			
		||||
						"navigationBarTitleText": "屏蔽用户",
 | 
			
		||||
						"app-plus": {
 | 
			
		||||
							"titleSize": "36px",
 | 
			
		||||
							"titleNView": {
 | 
			
		||||
								"titleColor": "#333333",
 | 
			
		||||
								"backgroundColor": "#FFFFFF"
 | 
			
		||||
							}
 | 
			
		||||
						}
 | 
			
		||||
					}
 | 
			
		||||
				},
 | 
			
		||||
				{
 | 
			
		||||
					"path": "order/Index",
 | 
			
		||||
					"style": {
 | 
			
		||||
@ -736,7 +749,7 @@
 | 
			
		||||
							"titleSize": "36px",
 | 
			
		||||
							"titleNView": {
 | 
			
		||||
								"titleColor": "#FFFFFF",
 | 
			
		||||
								"backgroundColor": "rgba(255,255,255,0)"
 | 
			
		||||
								"backgroundColor": "#ff780f"
 | 
			
		||||
							},
 | 
			
		||||
							"backButton": {
 | 
			
		||||
								"color": "#FFFFFF"
 | 
			
		||||
 | 
			
		||||
@ -2,10 +2,10 @@
 | 
			
		||||
    <view class="mine">
 | 
			
		||||
        <view class="mine-top">
 | 
			
		||||
            <view class="top">
 | 
			
		||||
				<u-avatar :src="userInfo.member_avatar" :size="110"></u-avatar>
 | 
			
		||||
				<u-avatar  @click="toOtherPage('/mine/MineInfo')" :src="userInfo.member_avatar" :size="110"></u-avatar>
 | 
			
		||||
				<view class="user-info">
 | 
			
		||||
					<view class="info-left">
 | 
			
		||||
						<view class="user-nickname" @click="toOtherPage('/mine/MineInfo')">{{ userInfo.member_nickname }}</view>
 | 
			
		||||
						<view class="user-nickname">{{ userInfo.member_nickname }}</view>
 | 
			
		||||
						<view class="user-medal" @click="toOtherPage('/mine/MedalIntroduction')">
 | 
			
		||||
							<img src="/static/image/mine/13.png" />
 | 
			
		||||
							<view class="rank-title">勋章</view>
 | 
			
		||||
 | 
			
		||||
@ -6,7 +6,9 @@
 | 
			
		||||
                <text class="u-line-1">{{ area }}</text>
 | 
			
		||||
                <image src="/static/image/shop/2.png"></image>
 | 
			
		||||
            </view>
 | 
			
		||||
            <u-search placeholder="日照香炉生紫烟" v-model="keyword" :show-action="false" bg-color="#fff" border-color="#999999"></u-search>
 | 
			
		||||
            <view @click="sousuo">
 | 
			
		||||
                <u-search placeholder="日照香炉生紫烟" v-model="keyword" :show-action="false" bg-color="#fff" border-color="#999999" :disabled="true"></u-search>
 | 
			
		||||
            </view>
 | 
			
		||||
            <image src="/static/image/shop/3.png" class="mnue" @click="toClassifyPage"></image>
 | 
			
		||||
        </view>
 | 
			
		||||
        <u-swiper :list="list" mode="dot" @click="clickImage"></u-swiper>
 | 
			
		||||
@ -91,6 +93,12 @@ export default {
 | 
			
		||||
		this.getGoodsRecommend();
 | 
			
		||||
	},
 | 
			
		||||
	methods: {
 | 
			
		||||
        sousuo(){
 | 
			
		||||
            // console.log(123)
 | 
			
		||||
            this.$u.route({
 | 
			
		||||
                url:"pageB/search/index"
 | 
			
		||||
            })
 | 
			
		||||
        },
 | 
			
		||||
		getShopTopList() {
 | 
			
		||||
			this.$u.api.getShopTopList().then((res)=>{
 | 
			
		||||
				if (res.errCode == 0) {
 | 
			
		||||
 | 
			
		||||
@ -12,23 +12,26 @@ const common = {
 | 
			
		||||
	/**
 | 
			
		||||
	* 上传文件(只能单文件上传)
 | 
			
		||||
	* @param { String } url 服务器 url
 | 
			
		||||
	* @param { String } name 上传类型 goods-商品图片 avatar-用户头像 video-视频 store_logo-店铺logo store_banner-店铺banner store_avatar-店铺头像 common-其他图片
 | 
			
		||||
	* @param { String } filePath 要上传文件资源的路径
 | 
			
		||||
	* @param { String } type 上传文件验证类型 默认: img 可选: video
 | 
			
		||||
	* @return { object } promise 对象 resolve 返回文件服务器地址 reject 返回错误信息
 | 
			
		||||
	*/
 | 
			
		||||
	uploadFile({ url, filePath, type = 'img' } = {}) {
 | 
			
		||||
	uploadFile({ url, name, filePath }) {
 | 
			
		||||
		const token = uni.getStorageSync('token');
 | 
			
		||||
		const promise =  new Promise((resolve, reject) => {
 | 
			
		||||
			uni.uploadFile({
 | 
			
		||||
				url: url,
 | 
			
		||||
				header: { "authorization": 'Bearer' + " " + token },
 | 
			
		||||
				filePath: filePath,
 | 
			
		||||
				name: 'file',
 | 
			
		||||
				formData: { type: type },
 | 
			
		||||
				name: name,
 | 
			
		||||
				formData: {
 | 
			
		||||
					name: name,
 | 
			
		||||
				},
 | 
			
		||||
				success: uploadFileRes => {
 | 
			
		||||
					const data = JSON.parse(uploadFileRes.data);
 | 
			
		||||
					// console.log(data);
 | 
			
		||||
					if(data.errCode == 0) {
 | 
			
		||||
						resolve(data.data.url);
 | 
			
		||||
						resolve(data.data);
 | 
			
		||||
					} else {
 | 
			
		||||
						reject(data.message);
 | 
			
		||||
					}
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user