Bläddra i källkod

修改订单评价

zs 1 år sedan
förälder
incheckning
bfb1c3c086
39 ändrade filer med 2345 tillägg och 103 borttagningar
  1. 6 0
      pages.json
  2. 84 1
      pagesHome/ticket/info.vue
  3. 240 29
      pagesIndex/order/after.vue
  4. 2 4
      pagesIndex/order/detail.vue
  5. 43 5
      pagesIndex/order/index.vue
  6. 2 4
      pagesIndex/order/info.vue
  7. 335 0
      pagesIndex/order/rate.vue
  8. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/common/runtime.js.map
  9. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/common/vendor.js.map
  10. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pagesHome/ticket/info.js.map
  11. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pagesIndex/order/after.js.map
  12. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pagesIndex/order/detail.js.map
  13. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pagesIndex/order/index.js.map
  14. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pagesIndex/order/info.js.map
  15. 1 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pagesIndex/order/rate.js.map
  16. 1 0
      unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-rate/components/uni-rate/uni-rate.js.map
  17. 1 0
      unpackage/dist/dev/mp-weixin/app.json
  18. 2 2
      unpackage/dist/dev/mp-weixin/common/runtime.js
  19. 5 0
      unpackage/dist/dev/mp-weixin/common/vendor.js
  20. 61 4
      unpackage/dist/dev/mp-weixin/pagesHome/ticket/info.js
  21. 2 1
      unpackage/dist/dev/mp-weixin/pagesHome/ticket/info.json
  22. 1 1
      unpackage/dist/dev/mp-weixin/pagesHome/ticket/info.wxml
  23. 37 0
      unpackage/dist/dev/mp-weixin/pagesHome/ticket/info.wxss
  24. 260 23
      unpackage/dist/dev/mp-weixin/pagesIndex/order/after.js
  25. 1 1
      unpackage/dist/dev/mp-weixin/pagesIndex/order/after.wxml
  26. 69 4
      unpackage/dist/dev/mp-weixin/pagesIndex/order/after.wxss
  27. 2 4
      unpackage/dist/dev/mp-weixin/pagesIndex/order/detail.js
  28. 58 8
      unpackage/dist/dev/mp-weixin/pagesIndex/order/index.js
  29. 1 1
      unpackage/dist/dev/mp-weixin/pagesIndex/order/index.wxml
  30. 3 0
      unpackage/dist/dev/mp-weixin/pagesIndex/order/index.wxss
  31. 2 4
      unpackage/dist/dev/mp-weixin/pagesIndex/order/info.js
  32. 566 0
      unpackage/dist/dev/mp-weixin/pagesIndex/order/rate.js
  33. 10 0
      unpackage/dist/dev/mp-weixin/pagesIndex/order/rate.json
  34. 1 0
      unpackage/dist/dev/mp-weixin/pagesIndex/order/rate.wxml
  35. 79 0
      unpackage/dist/dev/mp-weixin/pagesIndex/order/rate.wxss
  36. 433 0
      unpackage/dist/dev/mp-weixin/uni_modules/uni-rate/components/uni-rate/uni-rate.js
  37. 6 0
      unpackage/dist/dev/mp-weixin/uni_modules/uni-rate/components/uni-rate/uni-rate.json
  38. 1 0
      unpackage/dist/dev/mp-weixin/uni_modules/uni-rate/components/uni-rate/uni-rate.wxml
  39. 23 0
      unpackage/dist/dev/mp-weixin/uni_modules/uni-rate/components/uni-rate/uni-rate.wxss

+ 6 - 0
pages.json

@@ -89,6 +89,12 @@
 						"navigationBarBackgroundColor": "#007AFF"
 					}
 				},
+				{
+					"path": "order/rate",
+					"style": {
+						"navigationBarTitleText": "评价"
+					}
+				},
 				{
 					"path": "order/after",
 					"style": {

+ 84 - 1
pagesHome/ticket/info.vue

@@ -42,6 +42,35 @@
 							<rich-text :nodes="formatRichText(info.other_explain)"></rich-text>
 						</view>
 					</view>
+					<view class="evaluate" v-if="rateList.length>0">
+						<view class="evaluate_1">评价</view>
+						<scroll-view scroll-y="true" class="scroll">
+							<view class="list-scroll-view">
+								<view class="list" v-for="(item,index) in rateList" :key="index">
+									<image class="image"
+										:src="item.user.logo&&item.user.logo.length>0?item.user.logo[0].url:'../../static/my.png'"
+										mode="aspectFill">
+									</image>
+									<view class="other">
+										<view class="name textOver">{{item.user.nick_name||'暂无'}}</view>
+										<view class="content"><uni-rate size="18" :readonly="true" :value="item.rate" />
+										</view>
+										<view class="content">{{item.content||'暂无'}}</view>
+										<view class="content">
+											<div v-for="(i,indexx) in item.file" :key="indexx">
+												<image class="images" :src="i.url" mode="aspectFill">
+												</image>
+											</div>
+										</view>
+										<view class="name">{{item.create_time||'暂无'}}</view>
+									</view>
+								</view>
+								<view class="is_bottom" v-if="is_bottom">
+									<text>{{config.bottom_title||'到底了!'}}</text>
+								</view>
+							</view>
+						</scroll-view>
+					</view>
 				</view>
 			</scroll-view>
 		</view>
@@ -69,7 +98,9 @@
 					file: []
 				},
 				// 字典表
-				typeList: []
+				typeList: [],
+				// 评价
+				rateList: []
 			}
 		},
 		onLoad: async function(e) {
@@ -127,6 +158,12 @@
 							title: res.errmsg,
 						});
 					}
+					// 评价
+					const rate = await that.$api(`/rateOrder`, 'GET', {
+						source: that.id,
+						status: '1',
+					})
+					if (rate.errcode == '0') that.$set(that, `rateList`, rate.data);
 				}
 			},
 			// 处理富文本
@@ -254,6 +291,52 @@
 					padding: 2vw;
 				}
 			}
+
+			.evaluate {
+				.evaluate_1 {
+					padding: 2vw;
+					font-size: var(--font18Size);
+					font-weight: bold;
+					border-bottom: 1px solid var(--f9Color);
+				}
+
+				.list {
+					display: flex;
+					align-items: center;
+					padding: 2vw;
+
+					.image {
+						width: 10vw;
+						height: 10vw;
+						border-radius: 10vw;
+					}
+
+					.other {
+						display: flex;
+						flex-direction: column;
+						width: 80vw;
+						padding: 2vw;
+						border-bottom: 1px solid var(--f9Color);
+						font-size: var(--font12Size);
+
+						.name {
+							color: var(--f85Color);
+							padding: 2px 0;
+						}
+
+						.content {
+							display: flex;
+							margin: 1vw 0;
+
+							.images {
+								width: 15vw;
+								height: 15vw;
+								margin: 0 5px 0 0;
+							}
+						}
+					}
+				}
+			}
 		}
 
 		.foot {

+ 240 - 29
pagesIndex/order/after.vue

@@ -1,22 +1,63 @@
 <template>
 	<view class="main">
-		<uni-forms class="form" ref="form" :rules="rules" :modelValue="form" label-position="top" label-width='100'>
-			<uni-forms-item label="退款理由(必填)" required name="content">
-				<uni-easyinput type="textarea" v-model="form.content" placeholder="请输入退款理由" />
-			</uni-forms-item>
-			<uni-forms-item label="上传图片0/3(选填)" name="file">
-				<upload class='upload' :list="form.file" name="file" :count="3" @uplSuc="uplSuc" @uplDel="uplDel">
-				</upload>
-			</uni-forms-item>
-			<uni-forms-item label="联系方式(选填)" name="phone">
-				<uni-easyinput v-model="form.phone" placeholder="请输入您的手机号" />
-			</uni-forms-item>
-		</uni-forms>
-		<button class="button" type="primary" @click="submit('form')">提交</button>
+		<view class="one">
+			<view class="one_1">
+				<image v-if="info.source&&info.source.file.length>0" class="image"
+					:src="info.source.file&&info.source.file.length>0?info.source.file[0].url:''">
+				</image>
+				<image v-else class="image" :src="config.logo_url&&config.logo_url.length>0?config.logo_url[0].url:''">
+				</image>
+				<text v-if="info.type=='0'">酒店民宿</text>
+				<text v-else>景区门票</text>
+			</view>
+			<view class="one_2">
+				<view class="left">
+					<image v-if="info.source&&info.source.file.length>0" class="image"
+						:src="info.source.file&&info.source.file.length>0?info.source.file[0].url:''">
+					</image>
+					<image v-else class="image"
+						:src="config.logo_url&&config.logo_url.length>0?config.logo_url[0].url:''">
+					</image>
+				</view>
+				<view class="right">
+					<view class="right_1">
+						<view class="left">
+							<view class="name textOver">{{info.source_name||'暂无'}}</view>
+							<view class="other">{{info.zhType||'暂无'}}</view>
+							<view class="other">{{info.zhPerson||'暂无'}}</view>
+						</view>
+						<view class="right">
+							<view class="other">
+								¥{{info.source.money||'0'}}
+							</view>
+							<view class="other">
+								×{{info.num||'0'}}
+							</view>
+						</view>
+					</view>
+					<view class="right_2">
+						实付 ¥{{info.money||'0'}}
+					</view>
+				</view>
+			</view>
+		</view>
+		<view class="two">
+			<uni-forms class="form" ref="form" :rules="rules" :modelValue="form" label-position="top" label-width='100'>
+				<uni-forms-item label="退款理由(必填)" required name="reason">
+					<uni-easyinput type="textarea" v-model="form.reason" placeholder="请输入退款理由" />
+				</uni-forms-item>
+				<uni-forms-item label="上传图片0/3(选填)" name="file">
+					<upload class='upload' :list="form.file" name="file" :count="3" @uplSuc="uplSuc" @uplDel="uplDel">
+					</upload>
+				</uni-forms-item>
+			</uni-forms>
+			<button class="button" type="primary" @click="submit('form')">提交</button>
+		</view>
 	</view>
 </template>
 
 <script>
+	import moment from 'moment';
 	import upload from '../../components/upload/index.vue';
 	export default {
 		components: {
@@ -24,26 +65,55 @@
 		},
 		data() {
 			return {
+				id: '',
+				config: {
+					logo_url: []
+				},
 				user: {},
+				info: {
+					source: {
+						file: []
+					}
+				},
 				form: {
 					file: []
 				},
+				statusList: [],
+				personList: [],
+				typeList: [],
 				// 校验规则
 				rules: {
-					content: {
+					reason: {
 						rules: [{
 							required: true,
-							errorMessage: '请输入建议描述'
+							errorMessage: '请输入退款理由'
 						}]
 					},
 				},
 			}
 		},
-		onLoad: function(e) {
+		onLoad: async function(e) {
 			const that = this;
+			that.$set(that, `id`, e && e.id || '');
+			that.searchConfig();
 			that.searchToken();
+			await that.searchOther();
+			that.search();
 		},
 		methods: {
+			searchConfig() {
+				const that = this;
+				try {
+					const res = uni.getStorageSync('config');
+					if (res) that.$set(that, `config`, res);
+				} catch (e) {
+					uni.showToast({
+						title: err.errmsg,
+						icon: 'error',
+						duration: 2000
+					});
+				}
+			},
 			searchToken() {
 				const that = this;
 				try {
@@ -59,6 +129,29 @@
 					});
 				}
 			},
+			async search() {
+				const that = this;
+				if (that.id) {
+					const res = await that.$api(`/order/${that.id}`, 'GET', {})
+					if (res.errcode == '0') {
+						const status = that.statusList.find(i => i.value == res.data.status)
+						if (status) res.data.zhStatus = status.label
+						if (res.data && res.data.source && res.data.source.person) {
+							const person = that.personList.find(i => i.value == res.data.source.person)
+							if (person) res.data.zhPerson = person.label
+						}
+						if (res.data && res.data.source && res.data.source.type) {
+							const type = that.typeList.find(i => i.value == res.data.source.type)
+							if (type) res.data.zhType = type.label
+						}
+						that.$set(that, `info`, res.data)
+					} else {
+						uni.showToast({
+							title: res.errmsg,
+						});
+					}
+				}
+			},
 			// 图片上传
 			uplSuc(e) {
 				const that = this;
@@ -75,15 +168,27 @@
 				const that = this;
 				that.$refs[ref].validate().then(async data => {
 					data.user = that.user._id
-					const res = await that.$api(`/opinion`, 'POST', data);
+					data.order = that.id
+					data.type = that.info.type
+					data.apply_time = moment().format('YYYY-MM-DD HH:mm:ss')
+					const res = await that.$api(`/afterSale`, 'POST', data);
 					if (res.errcode == '0') {
-						uni.showToast({
-							title: '意见反馈成功',
-							icon: 'none'
-						})
-						uni.navigateBack({
-							delta: 1
+						const arr = await that.$api(`/order/${that.id}`, 'POST', {
+							status: "5"
 						})
+						if (arr.errcode == '0') {
+							uni.showToast({
+								title: '售后申请成功',
+								icon: 'none'
+							})
+							uni.navigateBack({
+								delta: 1
+							})
+						} else {
+							uni.showToast({
+								title: res.errmsg,
+							});
+						}
 					} else {
 						uni.showToast({
 							title: res.errmsg,
@@ -94,21 +199,127 @@
 					console.log('err', err);
 				})
 			},
+			// 查询其他信息
+			async searchOther() {
+				const that = this;
+				let res;
+				// 查询类型
+				res = await that.$api(`/dictData`, 'GET', {
+					type: 'order_status',
+					is_use: '0',
+				})
+				if (res.errcode == '0') that.$set(that, `statusList`, res.data);
+				// 出游人群
+				res = await that.$api(`/dictData`, 'GET', {
+					type: 'ticket_person',
+					is_use: '0',
+				})
+				if (res.errcode == '0') that.$set(that, `personList`, res.data);
+				// 服务特色
+				res = await that.$api(`/dictData`, 'GET', {
+					type: 'ticket_type',
+					is_use: '0',
+				})
+				if (res.errcode == '0') that.$set(that, `typeList`, res.data);
+			},
 		}
 	}
 </script>
 
 <style lang="scss" scoped>
 	.main {
-		padding: 4vw;
 
-		.form-item {
-			display: flex;
-			align-items: center;
+		.one {
+			background-color: var(--mainColor);
+			border-radius: 5px;
+			margin: 2vw 2vw 0 2vw;
+			padding: 2vw;
+			border: 1px solid #d5d5da;
+
+			.one_1 {
+				display: flex;
+				align-items: center;
+
+				.image {
+					width: 8vw;
+					height: 8vw;
+					border-radius: 8vw;
+				}
+
+				text {
+					padding: 0 0 0 2vw;
+				}
+			}
+
+			.one_2 {
+				display: flex;
+				justify-content: space-between;
+				margin: 2vw 0 0 0;
+				padding: 0 2vw;
+
+				.left {
+					width: 20vw;
+
+					.image {
+						width: 20vw;
+						height: 20vw;
+						border-radius: 1vw;
+					}
+				}
+
+				.right {
+					width: 65vw;
+					margin: 0 0 0 2vw;
+
+					.right_1 {
+						display: flex;
+						justify-content: space-between;
+
+						.left {
+							width: 55vw;
+
+							.name {
+								font-size: var(--font14Size);
+							}
+
+							.other {
+								padding: 2px 0 0 0;
+								font-size: var(--font12Size);
+								color: var(--f85Color);
+							}
+						}
+
+						.right {
+							width: 10vw;
+							text-align: right;
+
+							.other {
+								padding: 2px 0 0 0;
+								font-size: var(--font12Size);
+								color: var(--f85Color);
+							}
+						}
+					}
+
+					.right_2 {
+						text-align: right;
+						font-size: var(--font12Size);
+					}
+				}
+			}
 		}
 
-		.button {
-			background-color: var(--f3CColor);
+		.two {
+			padding: 2vw;
+
+			.form-item {
+				display: flex;
+				align-items: center;
+			}
+
+			.button {
+				background-color: var(--f3CColor);
+			}
 		}
 	}
 </style>

+ 2 - 4
pagesIndex/order/detail.vue

@@ -81,10 +81,8 @@
 				},
 				user: {},
 				info: {
-					no: {
-						source: {
-							file: []
-						}
+					source: {
+						file: []
 					}
 				},
 				statusList: [],

+ 43 - 5
pagesIndex/order/index.vue

@@ -53,7 +53,7 @@
 										@tap.stop="toCancel(item)">取消订单</button>
 									<button v-if="item.status=='1'" size="mini" type="default"
 										@tap.stop="toFile(item)">券码</button>
-									<button v-if="item.status=='1'" size="mini" type="default"
+									<button v-if="item.status=='1'||item.status=='6'" size="mini" type="default"
 										@tap.stop="toOut(item)">申请退款</button>
 									<button v-if="item.status=='2'" size="mini" type="default"
 										@tap.stop="toRate(item)">评价</button>
@@ -211,10 +211,23 @@
 				const that = this;
 				uni.showModal({
 					title: '提示',
-					content: '确定取消支付吗?',
+					content: '确定取消订单吗?',
 					success: async function(res) {
 						if (res.confirm) {
-							console.log(item);
+							const res = await that.$api(`/order/${item._id}`, 'POST', {
+								status: "4"
+							})
+							if (res.errcode == '0') {
+								uni.showToast({
+									title: `取消订单成功`,
+								});
+								that.clearPage();
+								that.search();
+							} else {
+								uni.showToast({
+									title: res.errmsg,
+								});
+							}
 						}
 					}
 				});
@@ -245,7 +258,26 @@
 					content: '确定申请退款吗?',
 					success: async function(res) {
 						if (res.confirm) {
-							console.log(item);
+							if (item.status == '1') {
+								const res = await that.$api(`/order/${item._id}`, 'POST', {
+									status: "5"
+								})
+								if (res.errcode == '0') {
+									uni.showToast({
+										title: `申请退款成功`,
+									});
+									that.clearPage();
+									that.search();
+								} else {
+									uni.showToast({
+										title: res.errmsg,
+									});
+								}
+							} else {
+								uni.navigateTo({
+									url: `/pagesIndex/order/after?id=${item._id||item.id}`
+								})
+							}
 						}
 					}
 				});
@@ -253,7 +285,9 @@
 			// 评价
 			async toRate(item) {
 				const that = this;
-				console.log(item);
+				uni.navigateTo({
+					url: `/pagesIndex/order/rate?id=${item._id||item.id}`
+				})
 			},
 			async searchOther() {
 				const that = this;
@@ -343,6 +377,10 @@
 				width: 100vw;
 				height: 82vh;
 
+				.list:first-child {
+					margin: 2vw;
+				}
+
 				.list {
 					background-color: var(--mainColor);
 					border: 1px solid var(--f5Color);

+ 2 - 4
pagesIndex/order/info.vue

@@ -88,10 +88,8 @@
 				},
 				user: {},
 				info: {
-					no: {
-						source: {
-							file: []
-						}
+					source: {
+						file: []
 					}
 				},
 				statusList: [],

+ 335 - 0
pagesIndex/order/rate.vue

@@ -0,0 +1,335 @@
+<template>
+	<view class="main">
+		<view class="one">
+			<view class="one_1">
+				<image v-if="info.source&&info.source.file.length>0" class="image"
+					:src="info.source.file&&info.source.file.length>0?info.source.file[0].url:''">
+				</image>
+				<image v-else class="image" :src="config.logo_url&&config.logo_url.length>0?config.logo_url[0].url:''">
+				</image>
+				<text v-if="info.type=='0'">酒店民宿</text>
+				<text v-else>景区门票</text>
+			</view>
+			<view class="one_2">
+				<view class="left">
+					<image v-if="info.source&&info.source.file.length>0" class="image"
+						:src="info.source.file&&info.source.file.length>0?info.source.file[0].url:''">
+					</image>
+					<image v-else class="image"
+						:src="config.logo_url&&config.logo_url.length>0?config.logo_url[0].url:''">
+					</image>
+				</view>
+				<view class="right">
+					<view class="right_1">
+						<view class="left">
+							<view class="name textOver">{{info.source_name||'暂无'}}</view>
+							<view class="other">{{info.zhType||'暂无'}}</view>
+							<view class="other">{{info.zhPerson||'暂无'}}</view>
+						</view>
+						<view class="right">
+							<view class="other">
+								¥{{info.source.money||'0'}}
+							</view>
+							<view class="other">
+								×{{info.num||'0'}}
+							</view>
+						</view>
+					</view>
+					<view class="right_2">
+						实付 ¥{{info.money||'0'}}
+					</view>
+				</view>
+			</view>
+		</view>
+		<view class="two">
+			<uni-forms class="form" ref="form" :rules="rules" :modelValue="form" label-position="top" label-width='100'>
+				<uni-forms-item label="评分(必填)" required name="rate">
+					<uni-rate v-model="form.rate" />
+				</uni-forms-item>
+				<uni-forms-item label="内容(必填)" required name="content">
+					<uni-easyinput type="textarea" v-model="form.content" placeholder="请输入内容" />
+				</uni-forms-item>
+				<uni-forms-item label="上传图片0/3(选填)" name="file">
+					<upload class='upload' :list="form.file" name="file" :count="3" @uplSuc="uplSuc" @uplDel="uplDel">
+					</upload>
+				</uni-forms-item>
+			</uni-forms>
+			<button class="button" type="primary" @click="submit('form')">提交</button>
+		</view>
+	</view>
+</template>
+
+<script>
+	import moment from 'moment';
+	import upload from '../../components/upload/index.vue';
+	export default {
+		components: {
+			upload
+		},
+		data() {
+			return {
+				id: '',
+				config: {
+					logo_url: []
+				},
+				user: {},
+				info: {
+					source: {
+						file: []
+					}
+				},
+				form: {
+					file: []
+				},
+				statusList: [],
+				personList: [],
+				typeList: [],
+				// 校验规则
+				rules: {
+					rate: {
+						rules: [{
+							required: true,
+							errorMessage: '请选择评分'
+						}]
+					},
+					content: {
+						rules: [{
+							required: true,
+							errorMessage: '请输入内容'
+						}]
+					},
+				},
+			}
+		},
+		onLoad: async function(e) {
+			const that = this;
+			that.$set(that, `id`, e && e.id || '');
+			that.searchConfig();
+			that.searchToken();
+			await that.searchOther();
+			that.search();
+		},
+		methods: {
+			searchConfig() {
+				const that = this;
+				try {
+					const res = uni.getStorageSync('config');
+					if (res) that.$set(that, `config`, res);
+				} catch (e) {
+					uni.showToast({
+						title: err.errmsg,
+						icon: 'error',
+						duration: 2000
+					});
+				}
+			},
+			searchToken() {
+				const that = this;
+				try {
+					const res = uni.getStorageSync('token');
+					if (res) {
+						that.$set(that, `user`, res);
+					}
+				} catch (e) {
+					uni.showToast({
+						title: err.errmsg,
+						icon: 'error',
+						duration: 2000
+					});
+				}
+			},
+			async search() {
+				const that = this;
+				if (that.id) {
+					const res = await that.$api(`/order/${that.id}`, 'GET', {})
+					if (res.errcode == '0') {
+						const status = that.statusList.find(i => i.value == res.data.status)
+						if (status) res.data.zhStatus = status.label
+						if (res.data && res.data.source && res.data.source.person) {
+							const person = that.personList.find(i => i.value == res.data.source.person)
+							if (person) res.data.zhPerson = person.label
+						}
+						if (res.data && res.data.source && res.data.source.type) {
+							const type = that.typeList.find(i => i.value == res.data.source.type)
+							if (type) res.data.zhType = type.label
+						}
+						that.$set(that, `info`, res.data)
+					} else {
+						uni.showToast({
+							title: res.errmsg,
+						});
+					}
+				}
+			},
+			// 图片上传
+			uplSuc(e) {
+				const that = this;
+				that.$set(that.form, `${e.name}`, [...that.form[e.name], e.data]);
+			},
+			// 图片删除
+			uplDel(e) {
+				const that = this;
+				let data = that.form[e.name];
+				let arr = data.filter((i, index) => index != e.data.index);
+				that.$set(that.form, `${e.name}`, arr)
+			},
+			submit(ref) {
+				const that = this;
+				that.$refs[ref].validate().then(async data => {
+					data.user = that.user._id
+					data.order = that.id
+					data.source = that.info.source._id
+					data.type = that.info.type
+					data.create_time = moment().format('YYYY-MM-DD HH:mm:ss')
+					const res = await that.$api(`/rateOrder`, 'POST', data);
+					if (res.errcode == '0') {
+						const arr = await that.$api(`/order/${that.id}`, 'POST', {
+							status: "7"
+						})
+						if (arr.errcode == '0') {
+							uni.showToast({
+								title: '评价成功',
+								icon: 'none'
+							})
+							uni.navigateBack({
+								delta: 1
+							})
+						} else {
+							uni.showToast({
+								title: res.errmsg,
+							});
+						}
+					} else {
+						uni.showToast({
+							title: res.errmsg,
+							icon: 'none'
+						})
+					}
+				}).catch(err => {
+					console.log('err', err);
+				})
+			},
+			// 查询其他信息
+			async searchOther() {
+				const that = this;
+				let res;
+				// 查询类型
+				res = await that.$api(`/dictData`, 'GET', {
+					type: 'order_status',
+					is_use: '0',
+				})
+				if (res.errcode == '0') that.$set(that, `statusList`, res.data);
+				// 出游人群
+				res = await that.$api(`/dictData`, 'GET', {
+					type: 'ticket_person',
+					is_use: '0',
+				})
+				if (res.errcode == '0') that.$set(that, `personList`, res.data);
+				// 服务特色
+				res = await that.$api(`/dictData`, 'GET', {
+					type: 'ticket_type',
+					is_use: '0',
+				})
+				if (res.errcode == '0') that.$set(that, `typeList`, res.data);
+			},
+		}
+	}
+</script>
+
+<style lang="scss" scoped>
+	.main {
+
+		.one {
+			background-color: var(--mainColor);
+			border-radius: 5px;
+			margin: 2vw 2vw 0 2vw;
+			padding: 2vw;
+			border: 1px solid #d5d5da;
+
+			.one_1 {
+				display: flex;
+				align-items: center;
+
+				.image {
+					width: 8vw;
+					height: 8vw;
+					border-radius: 8vw;
+				}
+
+				text {
+					padding: 0 0 0 2vw;
+				}
+			}
+
+			.one_2 {
+				display: flex;
+				justify-content: space-between;
+				margin: 2vw 0 0 0;
+				padding: 0 2vw;
+
+				.left {
+					width: 20vw;
+
+					.image {
+						width: 20vw;
+						height: 20vw;
+						border-radius: 1vw;
+					}
+				}
+
+				.right {
+					width: 65vw;
+					margin: 0 0 0 2vw;
+
+					.right_1 {
+						display: flex;
+						justify-content: space-between;
+
+						.left {
+							width: 55vw;
+
+							.name {
+								font-size: var(--font14Size);
+							}
+
+							.other {
+								padding: 2px 0 0 0;
+								font-size: var(--font12Size);
+								color: var(--f85Color);
+							}
+						}
+
+						.right {
+							width: 10vw;
+							text-align: right;
+
+							.other {
+								padding: 2px 0 0 0;
+								font-size: var(--font12Size);
+								color: var(--f85Color);
+							}
+						}
+					}
+
+					.right_2 {
+						text-align: right;
+						font-size: var(--font12Size);
+					}
+				}
+			}
+		}
+
+		.two {
+			padding: 2vw;
+
+			.form-item {
+				display: flex;
+				align-items: center;
+			}
+
+			.button {
+				background-color: var(--f3CColor);
+			}
+		}
+	}
+</style>

Filskillnaden har hållts tillbaka eftersom den är för stor
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/common/runtime.js.map


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/common/vendor.js.map


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pagesHome/ticket/info.js.map


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pagesIndex/order/after.js.map


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pagesIndex/order/detail.js.map


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pagesIndex/order/index.js.map


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pagesIndex/order/info.js.map


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 1 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pagesIndex/order/rate.js.map


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 1 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-rate/components/uni-rate/uni-rate.js.map


+ 1 - 0
unpackage/dist/dev/mp-weixin/app.json

@@ -18,6 +18,7 @@
         "order/detail",
         "order/info",
         "order/order",
+        "order/rate",
         "order/after",
         "other/agree"
       ]

Filskillnaden har hållts tillbaka eftersom den är för stor
+ 2 - 2
unpackage/dist/dev/mp-weixin/common/runtime.js


+ 5 - 0
unpackage/dist/dev/mp-weixin/common/vendor.js

@@ -45203,6 +45203,11 @@ var _default = {
         "navigationBarTitleText": "提交订单",
         "navigationBarBackgroundColor": "#007AFF"
       }
+    }, {
+      "path": "order/rate",
+      "style": {
+        "navigationBarTitleText": "评价"
+      }
     }, {
       "path": "order/after",
       "style": {

+ 61 - 4
unpackage/dist/dev/mp-weixin/pagesHome/ticket/info.js

@@ -103,6 +103,9 @@ try {
     uniFav: function () {
       return Promise.all(/*! import() | uni_modules/uni-fav/components/uni-fav/uni-fav */[__webpack_require__.e("common/vendor"), __webpack_require__.e("uni_modules/uni-fav/components/uni-fav/uni-fav")]).then(__webpack_require__.bind(null, /*! @/uni_modules/uni-fav/components/uni-fav/uni-fav.vue */ 579))
     },
+    uniRate: function () {
+      return __webpack_require__.e(/*! import() | uni_modules/uni-rate/components/uni-rate/uni-rate */ "uni_modules/uni-rate/components/uni-rate/uni-rate").then(__webpack_require__.bind(null, /*! @/uni_modules/uni-rate/components/uni-rate/uni-rate.vue */ 673))
+    },
   }
 } catch (e) {
   if (
@@ -140,6 +143,18 @@ var render = function () {
   var m3 = _vm.info.other_explain
     ? _vm.formatRichText(_vm.info.other_explain)
     : null
+  var g3 = _vm.rateList.length
+  var l0 =
+    g3 > 0
+      ? _vm.__map(_vm.rateList, function (item, index) {
+          var $orig = _vm.__get_orig(item)
+          var g4 = item.user.logo && item.user.logo.length > 0
+          return {
+            $orig: $orig,
+            g4: g4,
+          }
+        })
+      : null
   _vm.$mp.data = Object.assign(
     {},
     {
@@ -151,6 +166,8 @@ var render = function () {
         m1: m1,
         m2: m2,
         m3: m3,
+        g3: g3,
+        l0: l0,
       },
     }
   )
@@ -256,6 +273,35 @@ var _moment = _interopRequireDefault(__webpack_require__(/*! moment */ 54));
 //
 //
 //
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
 var _default = {
   data: function data() {
     return {
@@ -266,7 +312,9 @@ var _default = {
         file: []
       },
       // 字典表
-      typeList: []
+      typeList: [],
+      // 评价
+      rateList: []
     };
   },
   onLoad: function () {
@@ -351,14 +399,14 @@ var _default = {
     search: function search() {
       var _this = this;
       return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3() {
-        var that, info, res, type;
+        var that, info, res, type, rate;
         return _regenerator.default.wrap(function _callee3$(_context3) {
           while (1) {
             switch (_context3.prev = _context3.next) {
               case 0:
                 that = _this;
                 if (!that.id) {
-                  _context3.next = 8;
+                  _context3.next = 12;
                   break;
                 }
                 info = {};
@@ -378,7 +426,16 @@ var _default = {
                     title: res.errmsg
                   });
                 }
-              case 8:
+                // 评价
+                _context3.next = 10;
+                return that.$api("/rateOrder", 'GET', {
+                  source: that.id,
+                  status: '1'
+                });
+              case 10:
+                rate = _context3.sent;
+                if (rate.errcode == '0') that.$set(that, "rateList", rate.data);
+              case 12:
               case "end":
                 return _context3.stop();
             }

+ 2 - 1
unpackage/dist/dev/mp-weixin/pagesHome/ticket/info.json

@@ -1,6 +1,7 @@
 {
   "navigationBarTitleText": "门票详情",
   "usingComponents": {
-    "uni-fav": "/uni_modules/uni-fav/components/uni-fav/uni-fav"
+    "uni-fav": "/uni_modules/uni-fav/components/uni-fav/uni-fav",
+    "uni-rate": "/uni_modules/uni-rate/components/uni-rate/uni-rate"
   }
 }

Filskillnaden har hållts tillbaka eftersom den är för stor
+ 1 - 1
unpackage/dist/dev/mp-weixin/pagesHome/ticket/info.wxml


+ 37 - 0
unpackage/dist/dev/mp-weixin/pagesHome/ticket/info.wxss

@@ -54,6 +54,43 @@
 .main .center .center_1 .content.data-v-071bd532 {
   padding: 2vw;
 }
+.main .center .evaluate .evaluate_1.data-v-071bd532 {
+  padding: 2vw;
+  font-size: var(--font18Size);
+  font-weight: bold;
+  border-bottom: 1px solid var(--f9Color);
+}
+.main .center .evaluate .list.data-v-071bd532 {
+  display: flex;
+  align-items: center;
+  padding: 2vw;
+}
+.main .center .evaluate .list .image.data-v-071bd532 {
+  width: 10vw;
+  height: 10vw;
+  border-radius: 10vw;
+}
+.main .center .evaluate .list .other.data-v-071bd532 {
+  display: flex;
+  flex-direction: column;
+  width: 80vw;
+  padding: 2vw;
+  border-bottom: 1px solid var(--f9Color);
+  font-size: var(--font12Size);
+}
+.main .center .evaluate .list .other .name.data-v-071bd532 {
+  color: var(--f85Color);
+  padding: 2px 0;
+}
+.main .center .evaluate .list .other .content.data-v-071bd532 {
+  display: flex;
+  margin: 1vw 0;
+}
+.main .center .evaluate .list .other .content .images.data-v-071bd532 {
+  width: 15vw;
+  height: 15vw;
+  margin: 0 5px 0 0;
+}
 .main .foot.data-v-071bd532 {
   display: flex;
   justify-content: space-between;

+ 260 - 23
unpackage/dist/dev/mp-weixin/pagesIndex/order/after.js

@@ -131,6 +131,25 @@ var render = function () {
   var _vm = this
   var _h = _vm.$createElement
   var _c = _vm._self._c || _h
+  var g0 = _vm.info.source && _vm.info.source.file.length > 0
+  var g1 = g0 ? _vm.info.source.file && _vm.info.source.file.length > 0 : null
+  var g2 = !g0 ? _vm.config.logo_url && _vm.config.logo_url.length > 0 : null
+  var g3 = _vm.info.source && _vm.info.source.file.length > 0
+  var g4 = g3 ? _vm.info.source.file && _vm.info.source.file.length > 0 : null
+  var g5 = !g3 ? _vm.config.logo_url && _vm.config.logo_url.length > 0 : null
+  _vm.$mp.data = Object.assign(
+    {},
+    {
+      $root: {
+        g0: g0,
+        g1: g1,
+        g2: g2,
+        g3: g3,
+        g4: g4,
+        g5: g5,
+      },
+    }
+  )
 }
 var recyclableRender = false
 var staticRenderFns = []
@@ -172,8 +191,67 @@ Object.defineProperty(exports, "__esModule", {
 });
 exports.default = void 0;
 var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ 30));
-var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ 32));
 var _toConsumableArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/toConsumableArray */ 18));
+var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ 32));
+var _moment = _interopRequireDefault(__webpack_require__(/*! moment */ 54));
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
 var upload = function upload() {
   __webpack_require__.e(/*! require.ensure | components/upload/index */ "components/upload/index").then((function () {
     return resolve(__webpack_require__(/*! ../../components/upload/index.vue */ 557));
@@ -185,26 +263,74 @@ var _default = {
   },
   data: function data() {
     return {
+      id: '',
+      config: {
+        logo_url: []
+      },
       user: {},
+      info: {
+        source: {
+          file: []
+        }
+      },
       form: {
         file: []
       },
+      statusList: [],
+      personList: [],
+      typeList: [],
       // 校验规则
       rules: {
-        content: {
+        reason: {
           rules: [{
             required: true,
-            errorMessage: '请输入建议描述'
+            errorMessage: '请输入退款理由'
           }]
         }
       }
     };
   },
-  onLoad: function onLoad(e) {
-    var that = this;
-    that.searchToken();
-  },
+  onLoad: function () {
+    var _onLoad = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(e) {
+      var that;
+      return _regenerator.default.wrap(function _callee$(_context) {
+        while (1) {
+          switch (_context.prev = _context.next) {
+            case 0:
+              that = this;
+              that.$set(that, "id", e && e.id || '');
+              that.searchConfig();
+              that.searchToken();
+              _context.next = 6;
+              return that.searchOther();
+            case 6:
+              that.search();
+            case 7:
+            case "end":
+              return _context.stop();
+          }
+        }
+      }, _callee, this);
+    }));
+    function onLoad(_x) {
+      return _onLoad.apply(this, arguments);
+    }
+    return onLoad;
+  }(),
   methods: {
+    searchConfig: function searchConfig() {
+      var that = this;
+      try {
+        var res = uni.getStorageSync('config');
+        if (res) that.$set(that, "config", res);
+      } catch (e) {
+        uni.showToast({
+          title: err.errmsg,
+          icon: 'error',
+          duration: 2000
+        });
+      }
+    },
     searchToken: function searchToken() {
       var that = this;
       try {
@@ -220,6 +346,54 @@ var _default = {
         });
       }
     },
+    search: function search() {
+      var _this = this;
+      return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {
+        var that, res, status, person, type;
+        return _regenerator.default.wrap(function _callee2$(_context2) {
+          while (1) {
+            switch (_context2.prev = _context2.next) {
+              case 0:
+                that = _this;
+                if (!that.id) {
+                  _context2.next = 6;
+                  break;
+                }
+                _context2.next = 4;
+                return that.$api("/order/".concat(that.id), 'GET', {});
+              case 4:
+                res = _context2.sent;
+                if (res.errcode == '0') {
+                  status = that.statusList.find(function (i) {
+                    return i.value == res.data.status;
+                  });
+                  if (status) res.data.zhStatus = status.label;
+                  if (res.data && res.data.source && res.data.source.person) {
+                    person = that.personList.find(function (i) {
+                      return i.value == res.data.source.person;
+                    });
+                    if (person) res.data.zhPerson = person.label;
+                  }
+                  if (res.data && res.data.source && res.data.source.type) {
+                    type = that.typeList.find(function (i) {
+                      return i.value == res.data.source.type;
+                    });
+                    if (type) res.data.zhType = type.label;
+                  }
+                  that.$set(that, "info", res.data);
+                } else {
+                  uni.showToast({
+                    title: res.errmsg
+                  });
+                }
+              case 6:
+              case "end":
+                return _context2.stop();
+            }
+          }
+        }, _callee2);
+      }))();
+    },
     // 图片上传
     uplSuc: function uplSuc(e) {
       var that = this;
@@ -237,20 +411,33 @@ var _default = {
     submit: function submit(ref) {
       var that = this;
       that.$refs[ref].validate().then( /*#__PURE__*/function () {
-        var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(data) {
-          var res;
-          return _regenerator.default.wrap(function _callee$(_context) {
+        var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3(data) {
+          var res, arr;
+          return _regenerator.default.wrap(function _callee3$(_context3) {
             while (1) {
-              switch (_context.prev = _context.next) {
+              switch (_context3.prev = _context3.next) {
                 case 0:
                   data.user = that.user._id;
-                  _context.next = 3;
-                  return that.$api("/opinion", 'POST', data);
-                case 3:
-                  res = _context.sent;
-                  if (res.errcode == '0') {
+                  data.order = that.id;
+                  data.type = that.info.type;
+                  data.apply_time = (0, _moment.default)().format('YYYY-MM-DD HH:mm:ss');
+                  _context3.next = 6;
+                  return that.$api("/afterSale", 'POST', data);
+                case 6:
+                  res = _context3.sent;
+                  if (!(res.errcode == '0')) {
+                    _context3.next = 14;
+                    break;
+                  }
+                  _context3.next = 10;
+                  return that.$api("/order/".concat(that.id), 'POST', {
+                    status: "5"
+                  });
+                case 10:
+                  arr = _context3.sent;
+                  if (arr.errcode == '0') {
                     uni.showToast({
-                      title: '意见反馈成功',
+                      title: '售后申请成功',
                       icon: 'none'
                     });
                     uni.navigateBack({
@@ -258,23 +445,73 @@ var _default = {
                     });
                   } else {
                     uni.showToast({
-                      title: res.errmsg,
-                      icon: 'none'
+                      title: res.errmsg
                     });
                   }
-                case 5:
+                  _context3.next = 15;
+                  break;
+                case 14:
+                  uni.showToast({
+                    title: res.errmsg,
+                    icon: 'none'
+                  });
+                case 15:
                 case "end":
-                  return _context.stop();
+                  return _context3.stop();
               }
             }
-          }, _callee);
+          }, _callee3);
         }));
-        return function (_x) {
+        return function (_x2) {
           return _ref.apply(this, arguments);
         };
       }()).catch(function (err) {
         console.log('err', err);
       });
+    },
+    // 查询其他信息
+    searchOther: function searchOther() {
+      var _this2 = this;
+      return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee4() {
+        var that, res;
+        return _regenerator.default.wrap(function _callee4$(_context4) {
+          while (1) {
+            switch (_context4.prev = _context4.next) {
+              case 0:
+                that = _this2;
+                _context4.next = 3;
+                return that.$api("/dictData", 'GET', {
+                  type: 'order_status',
+                  is_use: '0'
+                });
+              case 3:
+                res = _context4.sent;
+                if (res.errcode == '0') that.$set(that, "statusList", res.data);
+                // 出游人群
+                _context4.next = 7;
+                return that.$api("/dictData", 'GET', {
+                  type: 'ticket_person',
+                  is_use: '0'
+                });
+              case 7:
+                res = _context4.sent;
+                if (res.errcode == '0') that.$set(that, "personList", res.data);
+                // 服务特色
+                _context4.next = 11;
+                return that.$api("/dictData", 'GET', {
+                  type: 'ticket_type',
+                  is_use: '0'
+                });
+              case 11:
+                res = _context4.sent;
+                if (res.errcode == '0') that.$set(that, "typeList", res.data);
+              case 13:
+              case "end":
+                return _context4.stop();
+            }
+          }
+        }, _callee4);
+      }))();
     }
   }
 };

Filskillnaden har hållts tillbaka eftersom den är för stor
+ 1 - 1
unpackage/dist/dev/mp-weixin/pagesIndex/order/after.wxml


+ 69 - 4
unpackage/dist/dev/mp-weixin/pagesIndex/order/after.wxss

@@ -1,14 +1,79 @@
 @charset "UTF-8";
 /* 水平间距 */
 /* 水平间距 */
-.main.data-v-4da5f4c8 {
-  padding: 4vw;
+.main .one.data-v-4da5f4c8 {
+  background-color: var(--mainColor);
+  border-radius: 5px;
+  margin: 2vw 2vw 0 2vw;
+  padding: 2vw;
+  border: 1px solid #d5d5da;
 }
-.main .form-item.data-v-4da5f4c8 {
+.main .one .one_1.data-v-4da5f4c8 {
   display: flex;
   align-items: center;
 }
-.main .button.data-v-4da5f4c8 {
+.main .one .one_1 .image.data-v-4da5f4c8 {
+  width: 8vw;
+  height: 8vw;
+  border-radius: 8vw;
+}
+.main .one .one_1 text.data-v-4da5f4c8 {
+  padding: 0 0 0 2vw;
+}
+.main .one .one_2.data-v-4da5f4c8 {
+  display: flex;
+  justify-content: space-between;
+  margin: 2vw 0 0 0;
+  padding: 0 2vw;
+}
+.main .one .one_2 .left.data-v-4da5f4c8 {
+  width: 20vw;
+}
+.main .one .one_2 .left .image.data-v-4da5f4c8 {
+  width: 20vw;
+  height: 20vw;
+  border-radius: 1vw;
+}
+.main .one .one_2 .right.data-v-4da5f4c8 {
+  width: 65vw;
+  margin: 0 0 0 2vw;
+}
+.main .one .one_2 .right .right_1.data-v-4da5f4c8 {
+  display: flex;
+  justify-content: space-between;
+}
+.main .one .one_2 .right .right_1 .left.data-v-4da5f4c8 {
+  width: 55vw;
+}
+.main .one .one_2 .right .right_1 .left .name.data-v-4da5f4c8 {
+  font-size: var(--font14Size);
+}
+.main .one .one_2 .right .right_1 .left .other.data-v-4da5f4c8 {
+  padding: 2px 0 0 0;
+  font-size: var(--font12Size);
+  color: var(--f85Color);
+}
+.main .one .one_2 .right .right_1 .right.data-v-4da5f4c8 {
+  width: 10vw;
+  text-align: right;
+}
+.main .one .one_2 .right .right_1 .right .other.data-v-4da5f4c8 {
+  padding: 2px 0 0 0;
+  font-size: var(--font12Size);
+  color: var(--f85Color);
+}
+.main .one .one_2 .right .right_2.data-v-4da5f4c8 {
+  text-align: right;
+  font-size: var(--font12Size);
+}
+.main .two.data-v-4da5f4c8 {
+  padding: 2vw;
+}
+.main .two .form-item.data-v-4da5f4c8 {
+  display: flex;
+  align-items: center;
+}
+.main .two .button.data-v-4da5f4c8 {
   background-color: var(--f3CColor);
 }
 

+ 2 - 4
unpackage/dist/dev/mp-weixin/pagesIndex/order/detail.js

@@ -254,10 +254,8 @@ var _default = {
       },
       user: {},
       info: {
-        no: {
-          source: {
-            file: []
-          }
+        source: {
+          file: []
         }
       },
       statusList: [],

+ 58 - 8
unpackage/dist/dev/mp-weixin/pagesIndex/order/index.js

@@ -445,17 +445,36 @@ var _default = {
                 that = _this3;
                 uni.showModal({
                   title: '提示',
-                  content: '确定取消支付吗?',
+                  content: '确定取消订单吗?',
                   success: function () {
                     var _success = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee6(res) {
+                      var _res;
                       return _regenerator.default.wrap(function _callee6$(_context6) {
                         while (1) {
                           switch (_context6.prev = _context6.next) {
                             case 0:
-                              if (res.confirm) {
-                                console.log(item);
+                              if (!res.confirm) {
+                                _context6.next = 5;
+                                break;
                               }
-                            case 1:
+                              _context6.next = 3;
+                              return that.$api("/order/".concat(item._id), 'POST', {
+                                status: "4"
+                              });
+                            case 3:
+                              _res = _context6.sent;
+                              if (_res.errcode == '0') {
+                                uni.showToast({
+                                  title: "\u53D6\u6D88\u8BA2\u5355\u6210\u529F"
+                                });
+                                that.clearPage();
+                                that.search();
+                              } else {
+                                uni.showToast({
+                                  title: _res.errmsg
+                                });
+                              }
+                            case 5:
                             case "end":
                               return _context6.stop();
                           }
@@ -524,14 +543,43 @@ var _default = {
                   content: '确定申请退款吗?',
                   success: function () {
                     var _success2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee9(res) {
+                      var _res2;
                       return _regenerator.default.wrap(function _callee9$(_context9) {
                         while (1) {
                           switch (_context9.prev = _context9.next) {
                             case 0:
-                              if (res.confirm) {
-                                console.log(item);
+                              if (!res.confirm) {
+                                _context9.next = 9;
+                                break;
+                              }
+                              if (!(item.status == '1')) {
+                                _context9.next = 8;
+                                break;
+                              }
+                              _context9.next = 4;
+                              return that.$api("/order/".concat(item._id), 'POST', {
+                                status: "5"
+                              });
+                            case 4:
+                              _res2 = _context9.sent;
+                              if (_res2.errcode == '0') {
+                                uni.showToast({
+                                  title: "\u7533\u8BF7\u9000\u6B3E\u6210\u529F"
+                                });
+                                that.clearPage();
+                                that.search();
+                              } else {
+                                uni.showToast({
+                                  title: _res2.errmsg
+                                });
                               }
-                            case 1:
+                              _context9.next = 9;
+                              break;
+                            case 8:
+                              uni.navigateTo({
+                                url: "/pagesIndex/order/after?id=".concat(item._id || item.id)
+                              });
+                            case 9:
                             case "end":
                               return _context9.stop();
                           }
@@ -562,7 +610,9 @@ var _default = {
             switch (_context11.prev = _context11.next) {
               case 0:
                 that = _this6;
-                console.log(item);
+                uni.navigateTo({
+                  url: "/pagesIndex/order/rate?id=".concat(item._id || item.id)
+                });
               case 2:
               case "end":
                 return _context11.stop();

Filskillnaden har hållts tillbaka eftersom den är för stor
+ 1 - 1
unpackage/dist/dev/mp-weixin/pagesIndex/order/index.wxml


+ 3 - 0
unpackage/dist/dev/mp-weixin/pagesIndex/order/index.wxss

@@ -26,6 +26,9 @@
   width: 100vw;
   height: 82vh;
 }
+.main .two .tabsList .list.data-v-3e78a684:first-child {
+  margin: 2vw;
+}
 .main .two .tabsList .list.data-v-3e78a684 {
   background-color: var(--mainColor);
   border: 1px solid var(--f5Color);

+ 2 - 4
unpackage/dist/dev/mp-weixin/pagesIndex/order/info.js

@@ -282,10 +282,8 @@ var _default = {
       },
       user: {},
       info: {
-        no: {
-          source: {
-            file: []
-          }
+        source: {
+          file: []
         }
       },
       statusList: [],

Filskillnaden har hållts tillbaka eftersom den är för stor
+ 566 - 0
unpackage/dist/dev/mp-weixin/pagesIndex/order/rate.js


+ 10 - 0
unpackage/dist/dev/mp-weixin/pagesIndex/order/rate.json

@@ -0,0 +1,10 @@
+{
+  "navigationBarTitleText": "评价",
+  "usingComponents": {
+    "uni-forms": "/uni_modules/uni-forms/components/uni-forms/uni-forms",
+    "uni-forms-item": "/uni_modules/uni-forms/components/uni-forms-item/uni-forms-item",
+    "uni-rate": "/uni_modules/uni-rate/components/uni-rate/uni-rate",
+    "uni-easyinput": "/uni_modules/uni-easyinput/components/uni-easyinput/uni-easyinput",
+    "upload": "/components/upload/index"
+  }
+}

Filskillnaden har hållts tillbaka eftersom den är för stor
+ 1 - 0
unpackage/dist/dev/mp-weixin/pagesIndex/order/rate.wxml


+ 79 - 0
unpackage/dist/dev/mp-weixin/pagesIndex/order/rate.wxss

@@ -0,0 +1,79 @@
+@charset "UTF-8";
+/* 水平间距 */
+/* 水平间距 */
+.main .one.data-v-7cbf6aa4 {
+  background-color: var(--mainColor);
+  border-radius: 5px;
+  margin: 2vw 2vw 0 2vw;
+  padding: 2vw;
+  border: 1px solid #d5d5da;
+}
+.main .one .one_1.data-v-7cbf6aa4 {
+  display: flex;
+  align-items: center;
+}
+.main .one .one_1 .image.data-v-7cbf6aa4 {
+  width: 8vw;
+  height: 8vw;
+  border-radius: 8vw;
+}
+.main .one .one_1 text.data-v-7cbf6aa4 {
+  padding: 0 0 0 2vw;
+}
+.main .one .one_2.data-v-7cbf6aa4 {
+  display: flex;
+  justify-content: space-between;
+  margin: 2vw 0 0 0;
+  padding: 0 2vw;
+}
+.main .one .one_2 .left.data-v-7cbf6aa4 {
+  width: 20vw;
+}
+.main .one .one_2 .left .image.data-v-7cbf6aa4 {
+  width: 20vw;
+  height: 20vw;
+  border-radius: 1vw;
+}
+.main .one .one_2 .right.data-v-7cbf6aa4 {
+  width: 65vw;
+  margin: 0 0 0 2vw;
+}
+.main .one .one_2 .right .right_1.data-v-7cbf6aa4 {
+  display: flex;
+  justify-content: space-between;
+}
+.main .one .one_2 .right .right_1 .left.data-v-7cbf6aa4 {
+  width: 55vw;
+}
+.main .one .one_2 .right .right_1 .left .name.data-v-7cbf6aa4 {
+  font-size: var(--font14Size);
+}
+.main .one .one_2 .right .right_1 .left .other.data-v-7cbf6aa4 {
+  padding: 2px 0 0 0;
+  font-size: var(--font12Size);
+  color: var(--f85Color);
+}
+.main .one .one_2 .right .right_1 .right.data-v-7cbf6aa4 {
+  width: 10vw;
+  text-align: right;
+}
+.main .one .one_2 .right .right_1 .right .other.data-v-7cbf6aa4 {
+  padding: 2px 0 0 0;
+  font-size: var(--font12Size);
+  color: var(--f85Color);
+}
+.main .one .one_2 .right .right_2.data-v-7cbf6aa4 {
+  text-align: right;
+  font-size: var(--font12Size);
+}
+.main .two.data-v-7cbf6aa4 {
+  padding: 2vw;
+}
+.main .two .form-item.data-v-7cbf6aa4 {
+  display: flex;
+  align-items: center;
+}
+.main .two .button.data-v-7cbf6aa4 {
+  background-color: var(--f3CColor);
+}
+

Filskillnaden har hållts tillbaka eftersom den är för stor
+ 433 - 0
unpackage/dist/dev/mp-weixin/uni_modules/uni-rate/components/uni-rate/uni-rate.js


+ 6 - 0
unpackage/dist/dev/mp-weixin/uni_modules/uni-rate/components/uni-rate/uni-rate.json

@@ -0,0 +1,6 @@
+{
+  "usingComponents": {
+    "uni-icons": "/uni_modules/uni-icons/components/uni-icons/uni-icons"
+  },
+  "component": true
+}

Filskillnaden har hållts tillbaka eftersom den är för stor
+ 1 - 0
unpackage/dist/dev/mp-weixin/uni_modules/uni-rate/components/uni-rate/uni-rate.wxml


+ 23 - 0
unpackage/dist/dev/mp-weixin/uni_modules/uni-rate/components/uni-rate/uni-rate.wxss

@@ -0,0 +1,23 @@
+@charset "UTF-8";
+/* 水平间距 */
+/* 水平间距 */
+.uni-rate {
+  display: flex;
+  line-height: 1;
+  font-size: 0;
+  flex-direction: row;
+}
+.uni-rate__icon {
+  position: relative;
+  line-height: 1;
+  font-size: 0;
+}
+.uni-rate__icon-on {
+  overflow: hidden;
+  position: absolute;
+  top: 0;
+  left: 0;
+  line-height: 1;
+  text-align: left;
+}
+