| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252 | 
							- <template>
 
- 	<view class="pages">
 
- 		<view class="" :style="{height: navHeight+'px' }"></view>
 
- 		<view class="navbar-box">
 
- 			<u-navbar title="申请退款" :safeAreaInsetTop="true" @leftClick="leftClick" :titleStyle="{color:'#fff'}" leftIconColor="#fff" bgColor="#EF1818"></u-navbar>
 
- 		</view>
 
- 		<view class="page-wrap">
 
- 			<view class="box base-info">
 
- 				<view class="title u-flex u-row-between">
 
- 					<text>申请退款金额</text>
 
- 					<text>¥ {{refundAmount}}</text>
 
- 				</view>
 
- 				<view class="con">
 
- 					(预计3个工作日内退回)
 
- 				</view>
 
- 			</view>
 
- 			<view class="box reason">
 
- 				<view class="title">退款原因(必填)</view>
 
- 				<view class="select-reason u-flex u-row-between" @click="reasonshow=true">
 
- 					<text>{{refundReason||'请选择原因'}}</text>
 
- 					<u-icon name="arrow-down" color="#E5E5E5" size="36rpx"></u-icon>
 
- 				</view>
 
- 				<u-picker :show="reasonshow" :columns="reasonList" @confirm="confirmReason" @cancel="reasonshow=false"></u-picker>
 
- 			</view>
 
- 		</view>
 
- 		<view class="btn-wrap">
 
- 			<view class="inner">
 
- 				<view class="btn" @click="submit">确认退款</view>
 
- 			</view>
 
- 		</view>
 
- 	</view>
 
- </template>
 
- <script>
 
- 	import { systemInfo } from "@/mixin.js";
 
- 	export default {
 
- 		mixins: [systemInfo], // 使用mixin
 
- 		data() {
 
- 			return {
 
- 				staticUrl:this.$commonConfig.staticUrl,
 
- 				orderId:'',
 
- 				refundAmount:'',
 
- 				viewerList:[],
 
- 				refundReason:'',
 
- 				reasonshow:false,
 
- 				reasonList:[
 
- 					[
 
- 						'选错场次',
 
- 						'计划有变',
 
- 						'其他'
 
- 					]
 
- 				],
 
- 				params:{
 
- 					
 
- 				},
 
- 				templateIdList:[],//微信小程序订阅消息
 
- 				
 
- 			}
 
- 		},
 
- 		onShow() {
 
- 		},
 
- 		onLoad(page) {
 
- 			console.log('page',page);
 
- 			this.orderId = page.id;
 
- 			this.refundAmount = page.refundAmount;
 
- 			this.viewerList = JSON.parse(page.viewerList);
 
- 			this.getSystemInfo();
 
- 			this.getTemplateIdList();//获取模板列表
 
- 		},
 
- 		methods: {
 
- 			leftClick(e){
 
- 				let pages = getCurrentPages();
 
- 				if(pages.length==1){
 
- 					// console.log('1111');
 
- 					uni.$u.route('/pages/index/index')
 
- 				}else{
 
- 					// console.log('2222222');
 
- 					uni.navigateBack()
 
- 				};
 
- 			},
 
- 			getTemplateIdList(){
 
- 				this.$u.api.templateIdList({templateLabel:'order_refund'}).then(res=>{
 
- 					console.log('res',res.data);
 
- 					this.templateIdList = res.data.list.map(item=>{
 
- 						return item.templateId
 
- 					});
 
- 					// if(this.templateIdList.length>0){
 
- 					// 	this.templateEven();
 
- 					// }
 
- 				}).catch(err=>{
 
- 					console.log('getTemplateIdList',err);
 
- 				})
 
- 			},
 
- 			confirmReason(e){
 
- 				console.log('confirmReason',e.value[0]);
 
- 				this.refundReason = e.value[0];
 
- 				this.reasonshow = false;
 
- 			},
 
- 			submit(){
 
- 				if(!this.refundReason){
 
- 					uni.$u.toast('请选择原因')
 
- 					return
 
- 				}
 
- 				// this.templateEven();
 
- 				// #ifdef MP
 
- 				this.setTemplate();
 
- 				// #endif
 
- 				// #ifdef H5
 
- 				this.handleSubmit();
 
- 				// #endif
 
- 				
 
- 			},
 
- 			handleSubmit(){
 
- 				let params = {
 
- 					orderId:this.orderId,
 
- 					refundReason:this.refundReason,
 
- 					refundAmount:this.refundAmount,
 
- 					viewerList:this.viewerList
 
- 				}
 
- 				this.$u.api.refundSubmit(params).then(res=>{
 
- 					uni.$u.toast(res.msg)
 
- 					// uni.navigateBack()
 
- 					setTimeout(()=>{
 
- 						uni.$u.route('/center/orderdetails', {
 
- 							type:'redirectTo',
 
- 							id: this.orderId
 
- 						});
 
- 						// uni.$u.route('/center/order');
 
- 					},1500)
 
- 					console.log('res',res.data);
 
- 				}).catch(err=>{
 
- 					console.log('refundSubmit',err);
 
- 				})
 
- 			},
 
- 			// 订阅消息
 
- 			templateEven(){
 
- 				let that = this
 
- 				wx.showModal({
 
- 					  title: '温馨提示',
 
- 					  content: '为更好的促进与您的交流,服务号需要实时向您发送消息',
 
- 					  confirmText:"同意",
 
- 					  cancelText:"拒绝",
 
- 					  success: function (res) {
 
- 						  if (res.confirm) {
 
- 							 //调用订阅消息
 
- 							  console.log('用户点击确定');
 
- 							  //调用订阅
 
- 							  that.setTemplate();
 
- 						  } else if (res.cancel) {
 
- 							  console.log('用户点击取消');
 
- 							  ///显示第二个弹说明一下
 
- 							  wx.showModal({
 
- 								title: '温馨提示',
 
- 								content: '拒绝后您将无法获取实时的消息',
 
- 								confirmText:"知道了",
 
- 								showCancel:false,
 
- 								success: function (res) {
 
- 									that.handleSubmit();
 
- 								  ///点击知道了的后续操作 
 
- 								  ///如跳转首页面 
 
- 								}
 
- 							});
 
- 						  }
 
- 					  }
 
- 				  });
 
- 			},
 
- 			// 设置小程序订阅消息
 
- 			setTemplate() {
 
- 				let that = this;
 
- 				// console.log('templateIdList',this.templateIdList);
 
- 				wx.requestSubscribeMessage({  
 
- 					tmplIds: this.templateIdList,  
 
- 					success (res) {  
 
- 						// that.handleSubmit();
 
- 						console.log("success:",res);  
 
- 					},  
 
- 					fail (res) {  
 
- 						console.log("fail:",res);  
 
- 					},  
 
- 					complete (res) {  
 
- 						that.handleSubmit();
 
- 						console.log("complete:",res);  
 
- 					}  
 
- 				})  
 
- 			},
 
- 		}
 
- 	}
 
- </script>
 
- <style>
 
- 	page{background-color: #F7F7F9;}
 
- </style>
 
- <style lang="scss" scoped>
 
- .page-wrap{
 
- 	padding: 32rpx 16rpx;
 
- }
 
- .box{
 
- 	margin-bottom: 24rpx;
 
- 	background: #FFFFFF;
 
- 	box-shadow: 0rpx 0rpx 20rpx 2rpx rgba(221,221,221,0.5);
 
- 	border-radius: 20rpx;
 
- 	padding: 36rpx 24rpx;
 
- 	.title{
 
- 		font-size: 28rpx;
 
- 		font-weight: 500;
 
- 		color: #2D2D2D;
 
- 		margin-bottom: 38rpx;
 
- 	}
 
- }
 
- .base-info{
 
- 	.con{
 
- 		font-size: 24rpx;
 
- 		font-weight: 400;
 
- 		color: #7F7F7F;
 
- 		text-align: right;
 
- 	}
 
- }
 
- .reason{
 
- 	.select-reason{
 
- 		height: 64rpx;
 
- 		line-height: 64rpx;
 
- 		border-radius: 8rpx;
 
- 		border: 2rpx solid #E5E5E5;
 
- 		padding: 0 24rpx;
 
- 		font-size: 24rpx;
 
- 		font-weight: 400;
 
- 		color: #363636;
 
- 	}
 
- }
 
- .btn-wrap{
 
- 	height: 92rpx;
 
- 	.inner{
 
- 		position: fixed;
 
- 		left: 0;
 
- 		right: 0;
 
- 		bottom: 66rpx;
 
- 	}
 
- 	.btn{
 
- 		height: 92rpx;
 
- 		line-height: 92rpx;
 
- 		width:80%;
 
- 		margin: 0 auto;
 
- 		background: linear-gradient(90deg, #FF7878 0%, #ED0000 100%);
 
- 		border-radius: 46rpx;
 
- 		font-size: 28rpx;
 
- 		font-weight: 400;
 
- 		color: #FFFFFF;
 
- 		text-align: center;
 
- 	}
 
- }
 
- </style>
 
 
  |