lilei 7 months ago
parent
commit
923effd1ab

+ 1 - 1
pagesB/cart/productitem.vue

@@ -299,7 +299,7 @@
 				margin-left: 6px;
 				font-size: 10px;
 				text{
-					font-size: 10px;
+					font-size: 12px;
 					color: #999;
 					margin-left: 5px;
 					text-decoration: line-through;

+ 6 - 6
pagesB/components/payModal.vue

@@ -97,7 +97,7 @@
 			closePopu(){
 				if(!this.showModal){
 					if(this.closeCurPage){
-						uni.navigateBack()
+						// uni.navigateBack()
 					}
 					// 付款成功
 					if(this.submitOk){
@@ -125,7 +125,7 @@
 								_this.submitOk = false
 							}else{
 								if(_this.closeCurPage){
-									uni.navigateBack()
+									// uni.navigateBack()
 								}
 								_this.$emit('payComplete',_this.payInfo, false)
 							}
@@ -156,24 +156,24 @@
 						signType: data.signType,
 						paySign: data.paySign,
 						success: (res) =>{
-							_this.payComplete(1,true)
+							_this.payComplete(1)
 						},
 						fail: (err)=> {
-							_this.payComplete(err.errMsg.indexOf("cancel")>=0 ? 2 : 0,false)
+							_this.payComplete(err.errMsg.indexOf("cancel")>=0 ? 2 : 0)
 						}
 					});
 				}else{
 					_this.payComplete(0,false)
 				}
 			},
-			payComplete(type,data){
+			payComplete(type){
 				uni.showToast({
 					mask: true,
 					title: type==1 ? '支付成功' : (type==2?'支付取消':'支付失败'),
 					icon: 'none'
 				})
 				this.showModal = false
-				this.submitOk = data
+				this.submitOk = type==1
 			},
 		}
 	}

+ 8 - 14
pagesB/procureOrder/creatOrder.vue

@@ -153,6 +153,11 @@
 				return this.$store.state.vuex_tempOrderData
 			}
 		},
+		onShow() {
+			if(this.payData){
+				uni.navigateBack()
+			}
+		},
 		methods: {
 			goBack(){
 				uni.navigateBack()
@@ -264,11 +269,9 @@
 						// 删除已提交产品
 						uni.$emit('removeCatGood',cartSn,true,false)
 						res.data.detailList = []
+						this.$store.state.vuex_tempOrderData = res.data
 						// 这里判断是否开通支付,如果开通打开确认付款弹框
 						if(this.hasPay){
-							// 倒计时
-							res.data.timestamp = (new Date(res.data.createDate.replace(/-/g,'/')).getTime() + 1800000 - new Date().getTime())/1000
-							this.$store.state.vuex_tempOrderData = res.data
 							purchasePay({
 								bizSn:res.data.purchaseSn,
 								bizNo:res.data.purchaseNo,
@@ -277,10 +280,8 @@
 							}).then(res=>{
 								this.showPopu = true
 								this.payData = res.data?res.data.payRequestRest:null
-								this.$store.state.vuex_tempOrderData.billStatus = 'WAIT_PAY'
 							})
 						}else{
-							this.$store.state.vuex_tempOrderData = res.data
 							this.payComplete(null,true)
 						}
 					}else{
@@ -292,19 +293,12 @@
 				})
 			},
 			// 订单详情页
-			payComplete(data, result){
-				console.log(result)
+			payComplete(data){
 				// 创建成功,跳转到订单详情页
 				this.showPopu = false
-				// 取消支付,或失败
-				if(!result){
-					this.$store.state.vuex_tempOrderData.billStatus = 'WAIT_PAY'
-				}else{
-					this.$store.state.vuex_tempOrderData.billStatus = 'WAIT_AUDIT'
-				}
 				setTimeout(()=>{
 					uni.navigateTo({
-						url: "/pagesB/procureOrder/orderDetail"
+						url: "/pagesB/procureOrder/orderDetail?purchaseSn="+this.$store.state.vuex_tempOrderData.purchaseSn
 					})
 				},50)
 			},

+ 47 - 25
pagesB/procureOrder/orderDetail.vue

@@ -133,7 +133,7 @@
 					</view>
 					<view class="infoList" v-if="isPayOk">
 						<text>支付方式</text>
-						<text>{{info.payInfo.payWay||'--'}}</text>
+						<text>{{info.payInfo.payWay=='WXPAY_ONLINE_XCX'?'微信支付':'--'}}</text>
 					</view>
 					<view class="infoList" v-if="isPayOk">
 						<text>支付时间</text>
@@ -168,13 +168,13 @@
 			<view :style="{height:safeAreaBottom+'px'}"></view>
 		</view>
 		<!-- 付款弹框 -->
-		<payModal :showPopu="showPopu" :payInfo="payInfo" :payData="payData" @close="showPopu=false" @payComplete="payComplete"></payModal> 
+		<payModal :showPopu="showPopu" :payInfo="info" :payData="payData" @close="showPopu=false" @payComplete="payComplete"></payModal> 
 	</view>
 </template>
 
 <script>
 	import payModal from '../components/payModal.vue'
-	import { purchaseQueryDetailPage,purchaseDetail,purchaseCancel,purchaseReceive,purchasePay } from '@/api/purchase.js'
+	import { purchaseQueryDetailPage,purchaseQueryPage,purchaseCancel,purchaseReceive,purchasePay } from '@/api/purchase.js'
 	import moment from 'moment'
 	export default {
 	   name: 'procureDetailOrder',
@@ -204,23 +204,16 @@
 		   uni.setNavigationBarTitle({
 		   	title: '采购订单详情'
 		   })
-		  const data = this.$store.state.vuex_tempOrderData //获取订单信息
-		  if(data){
-			  this.info = data
-			  this.state = data.billStatus
-			  this.purchaseSn = data.purchaseSn
-			  const stateText = {'WAIT_AUDIT':'待审核','WAIT_PAY':'待付款','AUDIT_REJECT':'审核不通过','WAIT_OUT_WAREHOUSE':'待收货','WAIT_RECEIVE':'待收货','FINISH':'已完结','CANCEL':'已取消'}
-			  this.statusText = stateText[this.state]
-			  this.statusIcon = this.state == 'FINISH' ? 'checkmark-circle' : ((this.state == 'AUDIT_REJECT'||this.state == 'CANCEL')?'close-circle':'hourglass')
-			  this.statusMessage = this.state == 'WAIT_OUT_WAREHOUSE'||this.state == 'WAIT_RECEIVE' ? '请耐心等待汽配经销商进行配送' : ''
-			  // 获取明细
-			  this.getDetailList()
-			  // 更改标题栏背景色
-			  uni.setNavigationBarColor({
-			  	frontColor: '#ffffff',
-			  	backgroundColor: this.state!= 'error'&&this.state!= 'AUDIT_REJECT'&&this.state!= 'CANCEL'&&this.state!= 'WAIT_PAY' ? '#066cff':'#e61100',
-			  })
-		  }
+		   // 查明细
+		   if(option.purchaseSn){
+			   this.getDetail()
+		   }else{
+			   // 从列表过来不需要查
+			   const data = this.$store.state.vuex_tempOrderData //获取订单信息
+			   if(data){
+			   	 this.pageInit(data)
+			   }
+		   }
 	   },
 	   onUnload() {
 			this.$store.state.vuex_tempOrderData = null
@@ -240,14 +233,43 @@
 		   //是否已付款
 		   isPayOk(){
 			   const item = this.info
-			   return this.hasPay && item.payInfo.payState!='WAIT'
+			   return this.hasPay && item.payInfo.payState=='FINISH'
 		   },
-		   // 付款信息
-		   payInfo(){
-				return this.$store.state.vuex_tempOrderData
-		   }
 	   },
 	   methods: {
+		 pageInit(data){
+			 this.info = data
+			 if(this.info.payInfo){
+				this.info.payInfo.payDate = moment(this.info.payInfo.payDate).format('YYYY-MM-DD hh:mm:ss')
+			 }
+			 this.state = data.billStatus
+			 this.purchaseSn = data.purchaseSn
+			 const stateText = {'WAIT_AUDIT':'待审核','WAIT_PAY':'待付款','AUDIT_REJECT':'审核不通过','WAIT_OUT_WAREHOUSE':'待收货','WAIT_RECEIVE':'待收货','FINISH':'已完结','CANCEL':'已取消'}
+			 this.statusText = stateText[this.state]
+			 this.statusIcon = this.state == 'FINISH' ? 'checkmark-circle' : ((this.state == 'AUDIT_REJECT'||this.state == 'CANCEL')?'close-circle':'hourglass')
+			 this.statusMessage = this.state == 'WAIT_OUT_WAREHOUSE'||this.state == 'WAIT_RECEIVE' ? '请耐心等待汽配经销商进行配送' : ''
+			 // 更改标题栏背景色
+			 uni.setNavigationBarColor({
+			 	frontColor: '#ffffff',
+			 	backgroundColor: this.state!= 'error'&&this.state!= 'AUDIT_REJECT'&&this.state!= 'CANCEL'&&this.state!= 'WAIT_PAY' ? '#066cff':'#e61100',
+			 })
+			 // 获取明细列表
+			 this.getDetailList()
+		 },
+		 // 实时查询详情
+		 getDetail(){
+			purchaseQueryPage({pageNo:1,pageSize:1,purchaseSn: this.purchaseSn}).then(res => {
+				const data = res.data ? res.data.list[0] : null
+				if(data){
+					data.billStatus = data.billStatus == 'WAIT_AUDIT'&&data.payOnlineFlag==1&&data.payInfo&&data.payInfo.payState=='WAIT'?'WAIT_PAY':data.billStatus
+					// 计算待付款剩余倒计时
+					if(data.billStatus== 'WAIT_PAY'){
+						data.timestamp = (new Date(data.createDate.replace(/-/g,'/')).getTime() + 1800000 - new Date().getTime())/1000
+					}
+					this.pageInit(data)
+				}
+			}) 
+		 },
 		 getRow(pageNo){
 			this.pageNo = pageNo
 			this.getDetailList()

+ 10 - 5
pagesB/procureOrder/orderList.vue

@@ -27,11 +27,11 @@
 								<view class="check-row align_center justify_between">
 									<view class="orderNo">{{item.purchaseNo}}</view>
 									<view class="times">
-										<span v-if="item.billStatus == 'WAIT_AUDIT'&&item.payOnlineFlag==0">待审核</span>
+										<span v-if="item.billStatus == 'WAIT_AUDIT'">待审核</span>
 										<view v-if="item.billStatus == 'WAIT_PAY'" class="waitPay">
 											<text>待付款</text>
 											<view style="padding:0 5px;">
-												<u-count-down separator="zh" :separator-size="24" bg-color="none" :timestamp="item.timestamp" :show-days="false" :show-hours="false" @end="resetList(item,'CANCEl')"></u-count-down>
+												<u-count-down separator="zh" :separator-size="24" bg-color="none" :timestamp="item.timestamp" :show-days="false" :show-hours="false" @end="countDownEnd(item)"></u-count-down>
 											</view>
 										</view>
 										<span v-if="item.billStatus == 'AUDIT_REJECT'">审核不通过</span>
@@ -244,13 +244,13 @@
 				let _this = this
 				uni.showModal({
 					title: '提示',
-					content: '确定取消订单吗?',
+					content: !item.payOk ? '确定取消订单吗?':'取消后订单金额将于1-3个工作日到账(原路返回)?',
 					success: function (res) {
 						if (res.confirm) {
 							purchaseCancel({purchaseSn:item.purchaseSn}).then(res => {
 								if (res.status == 200) {
 									_this.message('取消成功')
-									_this.resetList(item,'CANCEl')
+									_this.resetList(item,'CANCEL')
 								} else {
 									_this.message(res.message)
 								}
@@ -291,6 +291,10 @@
 			// 再次购买
 			buyAgain(item){
 				 
+			},
+			// 订单超时
+			countDownEnd(item){
+				this.resetList(item,'CANCEL')
 			},
 			// 确认收货
 			receiveOrder(item){
@@ -353,6 +357,7 @@
 					  if(item.billStatus== 'WAIT_PAY'){
 					  	item.timestamp = (new Date(item.createDate.replace(/-/g,'/')).getTime() + 1800000 - new Date().getTime())/1000
 					  }
+					  item.payOk = item.payOnlineFlag==1&&item.payInfo&&item.payInfo.payState=='FINISH'
 				  })
 				  
 				  // 只显示待付款
@@ -387,7 +392,7 @@
 				}
 				this.$store.state.vuex_tempOrderData = item
 				uni.navigateTo({
-					url: "/pagesB/procureOrder/orderDetail?purchaseSn="+item.purchaseSn+"&state="+item.billStatus
+					url: "/pagesB/procureOrder/orderDetail"
 				})
 			}
 		}

+ 1 - 4
pagesB/shopiing/productDetail.vue

@@ -570,7 +570,6 @@
 							}).then(res=>{
 								this.showPay = true
 								this.payData = res.data?res.data.payRequestRest:null
-								this.$store.state.vuex_tempOrderData.billStatus = 'WAIT_PAY'
 								uni.hideLoading()
 							})
 						}else{
@@ -652,12 +651,10 @@
 						paySign: data.paySign,
 						success: (res) =>{
 							_this.payComplete(1,true)
-							_this.$store.state.vuex_tempOrderData.billStatus = 'WAIT_AUDIT'
 						},
 						fail: (err)=> {
 							console.log('fail:',err);
 							_this.payComplete(err.errMsg.indexOf("cancel")>=0 ? 2 : 0,false)
-							_this.$store.state.vuex_tempOrderData.billStatus = 'WAIT_PAY'
 						}
 					});
 				}else{
@@ -722,7 +719,7 @@
 				this.resetPage()
 				// 跳转到订单详情页面
 				uni.navigateTo({
-					url: "/pagesB/procureOrder/orderDetail"
+					url: "/pagesB/procureOrder/orderDetail?purchaseSn="+this.$store.state.vuex_tempOrderData.purchaseSn
 				})
 			}
 		}