Browse Source

Merge branch 'master' of http://git.cc-lotus.info/pointToNetwork/point-app

guhongwei 2 years ago
parent
commit
1ed283541a
3 changed files with 190 additions and 15 deletions
  1. 6 0
      pages.json
  2. 146 0
      pagesMy/order/appraise.vue
  3. 38 15
      pagesMy/order/index.vue

+ 6 - 0
pages.json

@@ -101,6 +101,12 @@
 						"navigationBarTitleText": "选择售后"
 					}
 				},
+				{
+					"path": "order/appraise",
+					"style": {
+						"navigationBarTitleText": "立即评价"
+					}
+				},
 				{
 					"path": "logistics/index",
 					"style": {

+ 146 - 0
pagesMy/order/appraise.vue

@@ -0,0 +1,146 @@
+<template>
+	<mobile-frame>
+		<view class="info">
+			<view class="one">
+				<uni-forms ref="form" :modelValue="form" :rules="rules" label-width="auto">
+					<uni-forms-item label="评论内容" name="content">
+						<uni-easyinput type="textarea" v-model="form.content" placeholder="请输入评论内容" />
+					</uni-forms-item>
+					<uni-forms-item label="上传评论图片" name="file">
+						<upload :list="file" name="file" :count="6" @uplSuc="uplSuc" @uplDel="uplDel"></upload>
+					</uni-forms-item>
+					<uni-forms-item label="等级" name="grade">
+						<uni-rate size="18" v-model="form.grade" @change="onChange" />
+					</uni-forms-item>
+				</uni-forms>
+				<view class="btn">
+					<button type="primary" @click="onSubmit('form')" size="small">提交</button>
+				</view>
+			</view>
+		</view>
+	</mobile-frame>
+</template>
+
+<script>
+	import upload from '@/components/upload/index.vue';
+	export default {
+		components: {
+			upload
+		},
+		data() {
+			return {
+				id: '',
+				user: {},
+				form: {},
+				file: [],
+				rules: {
+					content: {
+						rules: [{
+							required: true,
+							errorMessage: '请输入评论内容',
+						}]
+					},
+					grade: {
+						rules: [{
+							required: true,
+							errorMessage: '请输入评论等级',
+						}]
+					}
+				},
+			};
+		},
+		onLoad: function(e) {
+			const that = this;
+			that.$set(that, `id`, e.id || '');
+			// 监听用户是否登录
+			that.watchLogin();
+		},
+		methods: {
+			// 图片上传
+			uplSuc(e) {
+				const that = this;
+				that.$set(that, `${e.name}`, [...that[e.name], e.data]);
+			},
+			// 图片删除
+			uplDel(e) {
+				const that = this;
+				let data = that[e.name];
+				let arr = data.filter((i, index) => index != e.data.index);
+				that.$set(that, `${e.name}`, arr)
+			},
+			// 等级改变
+			onChange(e) {
+				console.log(this.form.num);
+			},
+			// 提交保存
+			async onSubmit(ref) {
+				const that = this;
+				that.$refs[ref].validate().then(async params => {
+					console.log(params);
+				})
+			},
+			// 监听用户是否登录
+			watchLogin() {
+				const that = this;
+				uni.getStorage({
+					key: 'token',
+					success: function(res) {
+						let user = that.$jwt(res.data);
+						if (user) that.$set(that, `user`, user);
+						// that.search();
+					},
+					fail: function(err) {
+						uni.navigateTo({
+							url: `/pages/login/index`
+						})
+					}
+				});
+			},
+		}
+	}
+</script>
+
+<style lang="scss">
+	.info {
+		display: flex;
+		flex-direction: column;
+		width: 100vw;
+		height: 100vh;
+
+		.one {
+			padding: 2vw;
+
+			.uni-input {
+				border: #f1f1ff 1px solid;
+				padding: 2vw 2vw;
+				border-radius: 1vw;
+			}
+
+			.btn {
+				text-align: center;
+
+				button {
+					margin: 0 2vw 2vw 2vw;
+					background-color: var(--ff0Color);
+					color: var(--fffColor);
+				}
+
+				.name {
+					color: var(--f85Color);
+					font-size: var(--font14Size);
+				}
+			}
+		}
+	}
+
+	.uni-forms-item {
+		margin-bottom: 6vw !important;
+		display: flex;
+		flex-direction: row;
+	}
+
+	.uni-forms-item__content {
+		display: flex;
+		align-items: center;
+	}
+</style>

+ 38 - 15
pagesMy/order/index.vue

@@ -12,7 +12,8 @@
 								<view class="list_1" v-if="tabs.active=='-0'">
 									全部订单
 								</view>
-								<view class="list_2" v-for="(item,index) in list" :key="index" v-else-if="tabs.active=='0'" @tap="toInfo(item)">
+								<view class="list_2" v-for="(item,index) in list" :key="index"
+									v-else-if="tabs.active=='0'" @tap="toInfo(item)">
 									<view class="status">
 										{{item.status=='0'?'待付款':item.status=='1'?'已支付':item.status=='-1'?'取消订单':item.status=='2'?'发货中':item.status=='-2'?'已退款':item.status=='3'?'已收货':item.status=='-3'?'申请售后':item.status=='-4'?'正在售后中':item.status=='-5'?'售后已结束':'未识别'}}
 									</view>
@@ -26,7 +27,9 @@
 										<view class="goods_2">
 											<view class="market" v-for="(tags,indexss) in tag.goods" :key="indexss">
 												<view class="url">
-													<image class="image" :src="tags.goods.file&&tags.goods.file.length>0?tags.goods.file[0].url:''" mode=""></image>
+													<image class="image"
+														:src="tags.goods.file&&tags.goods.file.length>0?tags.goods.file[0].url:''"
+														mode=""></image>
 												</view>
 												<view class="goodsname">
 													{{tags.goods.name}}
@@ -53,14 +56,20 @@
 										<text>总价¥{{item.total_detail.goods_total}}</text>
 									</view>
 									<view class="btn">
-										<button class="toCancel" v-if="item.status=='0'" type="default" size="mini" @tap.stop="toCancel(item)">取消订单</button>
-										<button class="toPay" v-if="item.status=='0'" type="default" size="mini" @tap.stop="toPay(item)">付款</button>
-										<button class="toConfirm" v-if="item.status=='2'" type="default" size="mini" @tap.stop="toConfirm(item)">确认收货</button>
-										<button class="toAfter" v-if="item.status!='0'" type="default" size="mini" @tap.stop="toAfter(item)">申请售后</button>
-										<button class="toAfter" v-if="item.status=='3'" type="default" size="mini" @tap.stop="toAfter(item)">申请退款</button>
+										<button class="toCancel" v-if="item.status=='0'" type="default" size="mini"
+											@tap.stop="toCancel(item)">取消订单</button>
+										<button class="toPay" v-if="item.status=='0'" type="default" size="mini"
+											@tap.stop="toPay(item)">付款</button>
+										<button class="toConfirm" v-if="item.status=='2'" type="default" size="mini"
+											@tap.stop="toConfirm(item)">确认收货</button>
+										<button class="toAfter" v-if="item.status!='0'" type="default" size="mini"
+											@tap.stop="toAfter(item)">申请售后</button>
+										<!-- <button class="toAppraise" v-if="item.status=='3'" type="default" size="mini"
+											@tap.stop="toAppraise(item)">立即评价</button> -->
 									</view>
 								</view>
-								<view class="list_2 list_3" v-for="(item,index) in list" :key="index" @tap="toInfo(item)" v-else>
+								<view class="list_2 list_3" v-for="(item,index) in list" :key="index"
+									@tap="toInfo(item)" v-else>
 									<view class="list_3_1">
 										<view class="goods_1">
 											<view class="shopname">
@@ -76,7 +85,9 @@
 										<view class="goods_2">
 											<view class="market">
 												<view class="url">
-													<image class="image" :src="tag.goods.file&&tag.goods.file.length>0?tag.goods.file[0].url:''" mode=""></image>
+													<image class="image"
+														:src="tag.goods.file&&tag.goods.file.length>0?tag.goods.file[0].url:''"
+														mode=""></image>
 												</view>
 												<view class="goodsname">
 													{{tag.goods.name}}
@@ -103,12 +114,18 @@
 										<text>总价¥{{item.total_detail.goods_total}}</text>
 									</view>
 									<view class="btn">
-										<button class="toCancel" v-if="item.status=='2'||item.status=='3'" type="default" size="mini" @tap.stop="toLogi(item)">查看物流</button>
-										<button class="toCancel" v-if="item.status=='0'" type="default" size="mini" @tap.stop="toCancel(item)">取消订单</button>
-										<button class="toPay" v-if="item.status=='0'" type="default" size="mini" @tap.stop="toPay(item)">付款</button>
-										<button class="toConfirm" v-if="item.status=='2'" type="default" size="mini" @tap.stop="toConfirm(item)">确认收货</button>
-										<button class="toAfter" v-if="item.status!='0'" type="default" size="mini" @tap.stop="toAfter(item)">申请售后</button>
-										<button class="toAfter" v-if="item.status=='3'" type="default" size="mini" @tap.stop="toAfter(item)">申请退款</button>
+										<button class="toCancel" v-if="item.status=='2'||item.status=='3'"
+											type="default" size="mini" @tap.stop="toLogi(item)">查看物流</button>
+										<button class="toCancel" v-if="item.status=='0'" type="default" size="mini"
+											@tap.stop="toCancel(item)">取消订单</button>
+										<button class="toPay" v-if="item.status=='0'" type="default" size="mini"
+											@tap.stop="toPay(item)">付款</button>
+										<button class="toConfirm" v-if="item.status=='2'" type="default" size="mini"
+											@tap.stop="toConfirm(item)">确认收货</button>
+										<button class="toAfter" v-if="item.status!='0'" type="default" size="mini"
+											@tap.stop="toAfter(item)">申请售后</button>
+									<!-- 	<button class="toAppraise" v-if="item.status=='3'" type="default" size="mini"
+											@tap.stop="toAppraise(item)">立即评价</button> -->
 									</view>
 								</view>
 							</view>
@@ -387,6 +404,12 @@
 					url: `/pagesMy/logistics/index?id=${e._id}`
 				})
 			},
+			// 立即评价
+			toAppraise(e) {
+				uni.navigateTo({
+					url: `/pagesMy/order/appraise?id=${e._id}`
+				})
+			},
 			// 选择选项卡
 			tabsChange(e) {
 				const that = this;