zhengkaixin 4 年之前
父節點
當前提交
bd589a99c4

+ 8 - 2
src/projects/business/views/Master/Mine/Bill/Info.vue

@@ -1,7 +1,7 @@
 <template>
   <div>
     <common @asynCallBack="asynCallBack"></common>
-    <top-header :pageTitle="pageTitle"></top-header>
+    <top-header :pageTitle="pageTitle" :leftShow="leftShow"></top-header>
 
 	<div class="mui-content vongi-pay vongi-qingjiadt">
 				<div class="vongi-center mui-content-padded margin30">
@@ -106,13 +106,19 @@ export default {
       detail: {
           orderInfo:{}
       },
-      list: [],
+        leftShow:true,
+
+        list: [],
       goodsTpey: {},
       id: "",
     };
   },
   created() {
     this.id = this.$route.query.id;
+
+      if(this.$route.query.exc) {
+          this.leftShow=false
+      }
   },
   methods: {
     getDetail() {

+ 13 - 6
src/projects/business/views/Master/Mine/Bill/Pay.vue

@@ -1,7 +1,7 @@
 <template>
 <div>
- <common @asynCallBack="asynCallBack"></common>
-    	<top-header :pageTitle="pageTitle"  ></top-header>
+       <common @asynCallBack="asynCallBack"></common>
+    	<top-header :pageTitle="pageTitle"  :leftShow="leftShow" ></top-header>
 
 			<div class="mui-content vongi-qingjiadt margin60"  >
 				<div class="vongi-zd vongi-zdto flew-items">
@@ -43,7 +43,7 @@
 					</li>
 				</ul>
 
-				<div class="mui-content-padded">
+				<div class="mui-content-padded" v-if="detail.payStatus=='10'" >
 					<h5>支付方式</h5></div>
 				<form class="mui-input-group margin10">
 					<div class="mui-input-row mui-radio">
@@ -59,7 +59,8 @@
 					<div class="vongi-cashier-btn-white">
 						<span>合计:<b class="colorfe616c">¥{{detail.totalFee}}</b></span>
 						<div class="vongi-cashier-btn" v-if="detail.payStatus=='10'" @click="submit">支付</div>
-					</div>
+                        <div class="vongi-cashier-btn" v-if="detail.payStatus!='10'">{{detail.orderInfo.payStatusStr}}</div>
+                    </div>
 				</div>
 			</div>
 			<img id="qrcode">
@@ -109,7 +110,7 @@
 
 				list:[],
 				goodsTpey:{},
-
+                leftShow:true,
 				id:''
 
 			}
@@ -117,7 +118,11 @@
 		created() {
 			this.id=this.$route.query.id;
 
-			},
+            if(this.$route.query.exchange) {
+                this.leftShow=false
+            }
+
+		},
 		methods:  {
 		getDetail(){
             this.isLoading = true;
@@ -171,6 +176,8 @@
 				if(this.paytypeindex=="1"){
 					API_Pay.wxJsapiPay(this.detail.orderInfo.id,'').then(data=>{
 
+                        data.url=window.location.href.split("#")[0]+"/#/master/mine/bill/info?id="+this.id+"&exc=1";
+
 						this.isLoading=false;
 						wxPayJs(data)
 					}).catch(error => {

+ 122 - 79
src/projects/pension/views/Master/Mine/Bill/Info.vue

@@ -1,11 +1,56 @@
 <template>
-<div>
-
-			 <common @asynCallBack="asynCallBack"></common>
-                	<top-header :pageTitle="pageTitle"  ></top-header>
-
-
-			<div class="mui-content vongi-qingjiadt">
+  <div>
+    <common @asynCallBack="asynCallBack"></common>
+    <top-header :pageTitle="pageTitle" :leftShow="leftShow"></top-header>
+
+	<div class="mui-content vongi-pay vongi-qingjiadt">
+				<div class="vongi-center mui-content-padded margin30">
+					<div class="vongi-zd vongi-zdto flew-items">
+                        <img :src="detail.goodsPic" width="24">
+                        <h3>{{detail.billName}}</h3>
+					</div>
+					<h1 class="margin10">-{{detail.totalFee}}</h1>
+					<h4 class="color55f868">已交费</h4>
+				</div>
+				<form class="mui-input-group">
+					<div class="mui-input-row">
+						<label>付款方式</label>
+                        <span>{{detail.orderInfo.payNameStr}}</span>
+					</div>
+					<div class="mui-input-row">
+						<label>缴费单位</label>
+                        <span>{{detail.companyName}}</span>
+					</div>
+					<div class="mui-input-row">
+						<label>订单号</label>
+                        <span>{{detail.outOrderNo}}</span>
+					</div>
+					<div class="mui-input-row">
+						<label>创建时间</label>
+                        <span>{{detail.createTime}}</span>
+					</div>			
+				</form>
+				<ul class="mui-table-view openfyy-list">
+					<li class="mui-table-view-cell mui-collapse">
+						<a class="mui-navigate-right"  >账单明细</a>
+						<div class="mui-collapse-content">
+							<ul class="mui-table-view vongi-pay-list openfyy-list">
+								<li class="mui-table-view-cell" v-for="mod in list">
+									<div class=" mui-card-content-inner flew-sp">
+										<div class="mui-media-body">
+                                            <div class='mui-ellipsis flew-sp flew-items'><span class="color4fc5f7">{{mod.goodsName}}</span>({{mod.numStr}})</div>
+                                            <p>{{mod.standard}}</p>
+										</div>
+										<span class="mui-h2">{{mod.details}}元</span>
+									</div>
+                                    <p class="mui-card-footer">起止日期:{{mod.beginAndTime}}</p>
+								</li>
+							</ul>
+						</div>
+					</li>					
+				</ul>				
+			</div>
+    <!-- <div class="mui-content vongi-qingjiadt">
 				<form class="mui-input-group vongi-cd-payli">
 					<div class="mui-input-row flew-sp">
 							<h3>{{detail.body}}</h3>
@@ -29,83 +74,81 @@
                 		<span>{{detail.payTime}}</span>
 					</div>
 				</form>
-			</div>
-			           <loading :visible="isLoading"></loading>
-
-</div>
+			</div> -->
+    <loading :visible="isLoading"></loading>
+  </div>
 </template>
 
 
 
 <script>
-	import * as API_Pay from '$project/apis/payment'
-	import Common from '$project/components/Common.vue'
-	import Loading from '$project/components/Loading.vue'
-	import TopHeader from '$project/components/TopHeader.vue'
-
-	import {
-		mapGetters,
-		mapMutations
-	} from 'vuex'
-
-	import {
-
-
-	} from '$project/utils'
-	export default {
-		name: 'MasterMineBillInfo',
-		components: {
-			Common,
-			Loading,
-			TopHeader
-		},
-		data() {
-			return {
-				pageTitle: '账单详情',
-
-				qrCodeImg:"",
-				isLoading: false,
-				detail:{},
-				list:[],
-				goodsTpey:{},
-				id:''
-
-			}
-		},
-		created() {
-			this.id=this.$route.query.id;
-
-			},
-		methods:  {
-		getDetail(){
-	        	API_Pay.orderDetail({id:this.id}).then(res=>{
-                    this.detail=res.orderInfo;
-                    this.info=res.goodsTpey;
-                    this.goodsTpey=res.goodsTpey;
-
-                    this.list=JSON.parse(res.orderInfo.detail);
-        		}).catch(error => {
-
-        		})
-		}
-
-		 ,asynCallBack(){},
-		},
-		mounted() {
-            this.getDetail();
-		},
-		destroyed() {
-
-		},
-		computed: {
-			...mapGetters({
-				openId: 'wx_openid',
-				token: 'token',
-				person_data: 'person_data',
-				person_popedom: 'person_popedom',
-			})
-		}
-	}
+import * as API_Pay from "$project/apis/payment";
+import Common from "$project/components/Common.vue";
+import Loading from "$project/components/Loading.vue";
+import TopHeader from "$project/components/TopHeader.vue";
+
+import { mapGetters, mapMutations } from "vuex";
+
+import {} from "$project/utils";
+export default {
+  name: "MasterMineBillInfo",
+  components: {
+    Common,
+    Loading,
+    TopHeader,
+  },
+  data() {
+    return {
+      pageTitle: "账单详情",
+
+      qrCodeImg: "",
+      isLoading: false,
+      detail: {
+          orderInfo:{}
+      },
+        leftShow:true,
+
+        list: [],
+      goodsTpey: {},
+      id: "",
+    };
+  },
+  created() {
+    this.id = this.$route.query.id;
+
+      if(this.$route.query.exc) {
+          this.leftShow=false
+      }
+  },
+  methods: {
+    getDetail() {
+        this.isLoading = true;
+
+        API_Pay.orderDetail({ id: this.id })
+        .then((res) => {
+            this.isLoading = false;
+
+            this.detail=res;
+            this.list=res.list;
+        })
+        .catch((error) => {});
+    },
+
+    asynCallBack() {},
+  },
+  mounted() {
+    this.getDetail();
+  },
+  destroyed() {},
+  computed: {
+    ...mapGetters({
+      openId: "wx_openid",
+      token: "token",
+      person_data: "person_data",
+      person_popedom: "person_popedom",
+    }),
+  },
+};
 </script>
 
 <style scoped src="$project/assets/css/xpwyfyy.css"></style>

+ 1 - 1
src/projects/pension/views/Master/Mine/Bill/List.vue

@@ -13,7 +13,7 @@
 						</div>
 						<div class="mui-media-body">
 							<div class='flew-sp flew-items'>
-								<div class="mui-ellipsis mui-col-xs-8">{{mod.goodName}}</div><span :style="'color:'+mod.color" >{{mod.goodTypeName}}</span></div>
+								<div class="mui-ellipsis mui-col-xs-8">{{mod.goodName}}</div><span style="color:#FF8800" >未支付</span></div>
 							<div class='mui-ellipsis flew-sp mui-h2 flew-items'>{{mod.totalFee}}<span class="mui-h6">{{mod.createTime}}</span></div>
 						</div>
 					</a>

+ 60 - 39
src/projects/pension/views/Master/Mine/Bill/Pay.vue

@@ -1,43 +1,49 @@
 <template>
 <div>
- <common @asynCallBack="asynCallBack"></common>
-    	<top-header :pageTitle="pageTitle"  ></top-header>
+       <common @asynCallBack="asynCallBack"></common>
+    	<top-header :pageTitle="pageTitle"  :leftShow="leftShow" ></top-header>
 
 			<div class="mui-content vongi-qingjiadt margin60"  >
-				<div class="vongi-cashier flew-sp">
-					<div class="vongi-zd flew-items">
-						<div class="mui-media-object">
-							<img :src="goodsTpey.iconPic">
-						</div>
-						<h3>
-							{{goodsTpey.goodsName}}
-						</h3>
-					</div>
-					<div class="vongi-cd-pay">
-						<span class="iconfont icon-baobiao color4fc5f7" @click="goRecord()"></span>
-						<h5>历史账单</h5>
-					</div>
+				<div class="vongi-zd vongi-zdto flew-items">
+					<img :src="detail.goodsPic" width="24">
+					<h3>{{detail.billName}}</h3>
 				</div>
-				<form class="mui-input-group vongi-cd-payli">
-					<div class="mui-input-row flew-sp">
-						<h3>{{detail.body}}</h3>
-						<h3>¥{{detail.totalFee}}</h3>
+				<form class="mui-input-group">
+					<div class="mui-input-row">
+						<label>缴费单位</label>
+						<span>{{detail.companyName}}</span>
 					</div>
-					<div class="mui-input-row" v-for="(value,key,index)  in list">
-						<label>{{key}}</label>
-						<span>{{value}}</span>
+					<div class="mui-input-row">
+						<label>推送用户</label>
+						<span>{{detail.personName}}</span>
 					</div>
-
 					<div class="mui-input-row">
-						<label>创建时间</label>
-						<span>{{detail.createTime}}</span>
+						<label>本期账单总金额</label>
+						<span class="mui-h1 colorfe616c">¥{{detail.totalFee}}</span>
 					</div>
 					<div class="mui-input-row">
-						<label style="width:25%">订单号</label>
-						<span style="width:75%" class="mui-ellipsis">{{detail.outOrderNo}}</span>
+						<label>账单备注</label>
+						<span>{{detail.remark}}</span>
 					</div>
+
 				</form>
 				<div class="mui-content-padded">
+					<h5 class="flew-sp">账单明细<span class="colorfe616c">请在收到账单5日内交纳如下费用</span></h5>
+				</div>
+				<ul class="mui-table-view vongi-pay-list openfyy-list">
+					<li class="mui-table-view-cell" v-for="mod in list">
+						<div class=" mui-card-content-inner flew-sp">
+							<div class="mui-media-body">
+								<div class='mui-ellipsis flew-sp flew-items'><span class="color4fc5f7">{{mod.goodsName}}</span>({{mod.numStr}})</div>
+								<p>{{mod.standard}}</p>
+							</div>
+							<span class="mui-h2">{{mod.details}}元</span>
+						</div>
+						<p class="mui-card-footer">起止日期:{{mod.beginAndTime}}</p>
+					</li>
+				</ul>
+
+				<div class="mui-content-padded" v-if="detail.payStatus=='10'" >
 					<h5>支付方式</h5></div>
 				<form class="mui-input-group margin10">
 					<div class="mui-input-row mui-radio">
@@ -53,7 +59,8 @@
 					<div class="vongi-cashier-btn-white">
 						<span>合计:<b class="colorfe616c">¥{{detail.totalFee}}</b></span>
 						<div class="vongi-cashier-btn" v-if="detail.payStatus=='10'" @click="submit">支付</div>
-					</div>
+                        <div class="vongi-cashier-btn" v-if="detail.payStatus!='10'">{{detail.orderInfo.payStatusStr}}</div>
+                    </div>
 				</div>
 			</div>
 			<img id="qrcode">
@@ -103,7 +110,7 @@
 
 				list:[],
 				goodsTpey:{},
-
+                leftShow:true,
 				id:''
 
 			}
@@ -111,15 +118,20 @@
 		created() {
 			this.id=this.$route.query.id;
 
-			},
+            if(this.$route.query.exchange) {
+                this.leftShow=false
+            }
+
+		},
 		methods:  {
 		getDetail(){
-	        	API_Pay.orderDetail({id:this.id}).then(res=>{
-                    this.detail=res.orderInfo;
-                    this.info=res.goodsTpey;
-                    this.goodsTpey=res.goodsTpey;
+            this.isLoading = true;
 
-                    this.list=JSON.parse(res.orderInfo.detail);
+            API_Pay.orderDetail({id:this.id}).then(res=>{
+                this.isLoading = false;
+
+                this.detail=res;
+                    this.list=res.list;
         		}).catch(error => {
 
         		})
@@ -162,7 +174,9 @@
 			submit() {
 				this.isLoading=true;
 				if(this.paytypeindex=="1"){
-					API_Pay.wxJsapiPay(this.detail.id,'').then(data=>{
+					API_Pay.wxJsapiPay(this.detail.orderInfo.id,'').then(data=>{
+
+                        data.url=window.location.href.split("#")[0]+"/#/master/mine/bill/info?id="+this.id+"&exc=1";
 
 						this.isLoading=false;
 						wxPayJs(data)
@@ -172,7 +186,7 @@
 					})
 
 				}else if(this.paytypeindex=="2"){
-					API_Pay.tradePrecreatePay(this.detail.id,'').then(url=>{
+					API_Pay.tradePrecreatePay(this.detail.orderInfo.id,'').then(url=>{
 						this.isLoading = false;
 						let qrcode = new QRCode('qrcode', {
 							width: 200,
@@ -203,10 +217,17 @@
 				}
 
 
-			},asynCallBack(){},
+			},asynCallBack(){
+                if(this.$route.query.exchange){
+                    this.getDetail();
+                }
+			},
 		},
 		mounted() {
-            this.getDetail();
+           if(!this.$route.query.exchange){
+               this.getDetail();
+		   }
+
 		},
 		destroyed() {
 

+ 28 - 4
src/projects/pension/views/Master/Mine/Bill/Record.vue

@@ -3,7 +3,31 @@
     <common @asynCallBack="asynCallBack"></common>
     	<top-header :pageTitle="pageTitle"></top-header>
 
-		<div class="mui-content vongi-zd">
+		<div class="mui-content vongi-zd vongi-zdlist">
+            <template v-for="mod in recordList">
+
+            <div class="mui-content-padded" v-if="ifshow(mod)">
+                <h5>{{mod.month}}</h5>
+			</div>
+			<ul class="mui-table-view">
+				<li class="mui-table-view-cell">
+					<a @click="goto(mod.id)">
+						<div class="mui-media-object mui-pull-left">
+                            <img :src="mod.iconPic">
+						</div>
+						<div class="mui-media-body">
+							<div class='flew-sp flew-items'>
+								<div class="mui-ellipsis mui-col-xs-8">{{mod.goodName}}</div><span class="color55f868">{{mod.payNameStr}}</span></div>
+							<div class='mui-ellipsis flew-sp mui-h2 flew-items'>{{mod.totalFee}}<span class="mui-h6">{{mod.payTime}}</span></div>
+						</div>
+					</a>
+				</li>
+			</ul>
+            </template>
+
+			<NullList :remark="'暂无账单信息'" v-if="!recordList.length"></NullList>
+		</div>
+		<!-- <div class="mui-content vongi-zd">
 
 			<ul class="mui-table-view vongi-zd-list">
 			<template v-for="mod in recordList">
@@ -25,9 +49,9 @@
  			</template>
 
 			</ul>
-			<NullList :remark="'暂无账单信息'" v-if="!recordList.length"></NullList>
+			
 
-		</div>
+		</div> -->
 		           <loading :visible="isLoading"></loading>
 
 </div>
@@ -99,7 +123,7 @@
 			goto(id) {
 
 				this.$router.push({
-					name: 'MasterMineBillPay',
+					name: 'MasterMineBillInfo',
 					query: {
 						id: id
 					}