Commit e7ca4bcb4fd91517631e2702508f47339ae298eb
1 parent
d3808923
会员卡
Showing
5 changed files
with
178 additions
and
135 deletions
src/api/card/card.js
0 → 100644
1 | +import request from '@/utils/request' | ||
2 | + | ||
3 | +export function queryVipCardListByOrgId(params) { //查询停车场-会员卡-根据orgID | ||
4 | + return request({ | ||
5 | + url: 'parkvip/queryVipCardListByOrgId', | ||
6 | + method: 'post', | ||
7 | + data: params | ||
8 | + }) | ||
9 | +} | ||
10 | + | ||
11 | + | ||
12 | +export function queryVipCardListByPlName(params) { //搜索有会员卡的停车场 | ||
13 | + return request({ | ||
14 | + url: 'parkvip/queryVipCardListByPlName', | ||
15 | + method: 'post', | ||
16 | + data: params | ||
17 | + }) | ||
18 | +} | ||
19 | + | ||
20 | +export function queryVipCardByPlNo(params) { //查询某个停车场的 具体的会员卡信息 | ||
21 | + return request({ | ||
22 | + url: 'parkvip/queryVipCardByPlNo', | ||
23 | + method: 'post', | ||
24 | + data: params | ||
25 | + }) | ||
26 | +} |
src/router/index.js
1 | -import Vue from 'vue' | ||
2 | -import Router from 'vue-router' | ||
3 | -import plateNumber from '@/views/parkPay/plateNumber' | 1 | +import Vue from "vue"; |
2 | +import Router from "vue-router"; | ||
3 | +import plateNumber from "@/views/parkPay/plateNumber"; | ||
4 | // import parkRecord from '@/views/parkPay/parkRecord' | 4 | // import parkRecord from '@/views/parkPay/parkRecord' |
5 | // import selfNav from '@/views/mySelf/selfNav' | 5 | // import selfNav from '@/views/mySelf/selfNav' |
6 | - | ||
7 | -Vue.use(Router) | ||
8 | - | 6 | +Vue.use(Router); |
9 | export default new Router({ | 7 | export default new Router({ |
10 | routes: [ | 8 | routes: [ |
11 | { | 9 | { |
12 | - path: '/', | 10 | + path: "/", |
13 | redirect: { | 11 | redirect: { |
14 | - name: 'plateNumber' | 12 | + name: "plateNumber" |
15 | } | 13 | } |
16 | }, | 14 | }, |
17 | // { | 15 | // { |
@@ -19,155 +17,119 @@ export default new Router({ | @@ -19,155 +17,119 @@ export default new Router({ | ||
19 | // name: 'navigation', | 17 | // name: 'navigation', |
20 | // component: navigation | 18 | // component: navigation |
21 | // }, | 19 | // }, |
22 | - | ||
23 | { | 20 | { |
24 | - path: '/parkRecord', | ||
25 | - name: 'parkRecord', | 21 | + path: "/parkRecord", |
22 | + name: "parkRecord", | ||
26 | component: () => import("@/views/parkPay/parkRecord.vue") | 23 | component: () => import("@/views/parkPay/parkRecord.vue") |
27 | }, | 24 | }, |
28 | { | 25 | { |
29 | - path: '/plateNumber', | ||
30 | - name: 'plateNumber', | 26 | + path: "/plateNumber", |
27 | + name: "plateNumber", | ||
31 | component: plateNumber | 28 | component: plateNumber |
32 | }, | 29 | }, |
33 | - | ||
34 | { | 30 | { |
35 | - path: '/orderPay', | ||
36 | - name: 'orderPay', | 31 | + path: "/orderPay", |
32 | + name: "orderPay", | ||
37 | component: () => import("@/views/parkPay/orderPay.vue") | 33 | component: () => import("@/views/parkPay/orderPay.vue") |
38 | }, | 34 | }, |
39 | - | ||
40 | - | ||
41 | { | 35 | { |
42 | - path: '/map', | ||
43 | - name: 'map', | 36 | + path: "/map", |
37 | + name: "map", | ||
44 | component: () => import("@/views/map/map.vue") | 38 | component: () => import("@/views/map/map.vue") |
45 | }, | 39 | }, |
46 | - | ||
47 | { | 40 | { |
48 | - path: '/parkList', | ||
49 | - name: 'parkList', | 41 | + path: "/parkList", |
42 | + name: "parkList", | ||
50 | component: () => import("@/views/map/parkList.vue") | 43 | component: () => import("@/views/map/parkList.vue") |
51 | }, | 44 | }, |
52 | - | ||
53 | { | 45 | { |
54 | - path: '/parkinfo', | ||
55 | - name: 'parkinfo', | 46 | + path: "/parkinfo", |
47 | + name: "parkinfo", | ||
56 | component: () => import("@/views/map/parkinfo.vue") | 48 | component: () => import("@/views/map/parkinfo.vue") |
57 | }, | 49 | }, |
58 | - | ||
59 | { | 50 | { |
60 | - path: '/search', | ||
61 | - name: 'search', | 51 | + path: "/search", |
52 | + name: "search", | ||
62 | component: () => import("@/views/map/search.vue") | 53 | component: () => import("@/views/map/search.vue") |
63 | }, | 54 | }, |
64 | - | ||
65 | - | ||
66 | - | ||
67 | - | ||
68 | - | ||
69 | - | ||
70 | - //---------------- 个人页面导航 | 55 | + //---------------- 个人页面导航 |
71 | { | 56 | { |
72 | - path: '/selfNav', | ||
73 | - name: 'selfNav', | 57 | + path: "/selfNav", |
58 | + name: "selfNav", | ||
74 | component: () => import("@/views/mySelf/selfNav.vue"), | 59 | component: () => import("@/views/mySelf/selfNav.vue"), |
75 | - meta: {title: "个人中心"} | 60 | + meta: { |
61 | + title: "个人中心" , | ||
62 | + keepAlive: false, //此组件不需要被缓存 | ||
63 | + } | ||
76 | }, | 64 | }, |
77 | - | ||
78 | // ------------------------建议反馈 | 65 | // ------------------------建议反馈 |
79 | { | 66 | { |
80 | - path: '/suggestionBack', | ||
81 | - name: 'suggestionBack', | 67 | + path: "/suggestionBack", |
68 | + name: "suggestionBack", | ||
82 | component: () => import("@/views/mySelf/feedback/suggestionBack.vue"), | 69 | component: () => import("@/views/mySelf/feedback/suggestionBack.vue"), |
83 | - meta: {title: "建议反馈"} | 70 | + meta: { title: "建议反馈" } |
84 | }, | 71 | }, |
85 | - | ||
86 | // ------------------------停车记录 | 72 | // ------------------------停车记录 |
87 | { | 73 | { |
88 | - path: '/parkNotes', | ||
89 | - name: 'parkNotes', | 74 | + path: "/parkNotes", |
75 | + name: "parkNotes", | ||
90 | component: () => import("@/views/mySelf/parkNotes/parkNotes.vue") | 76 | component: () => import("@/views/mySelf/parkNotes/parkNotes.vue") |
91 | }, | 77 | }, |
92 | - | ||
93 | - | ||
94 | // ------------------------登录 | 78 | // ------------------------登录 |
95 | { | 79 | { |
96 | - path: '/binDing', | ||
97 | - name: 'binDing', | 80 | + path: "/binDing", |
81 | + name: "binDing", | ||
98 | component: () => import("@/views/binding/binDing.vue"), | 82 | component: () => import("@/views/binding/binDing.vue"), |
99 | - meta: {title: "绑定手机号"} | 83 | + meta: { title: "绑定手机号" } |
100 | }, | 84 | }, |
101 | { | 85 | { |
102 | - path: '/myCars', | ||
103 | - name: 'myCars', | 86 | + path: "/myCars", |
87 | + name: "myCars", | ||
104 | component: () => import("@/views//mySelf/myCars/myCars.vue"), | 88 | component: () => import("@/views//mySelf/myCars/myCars.vue"), |
105 | - meta: {title: "我的车牌"} | 89 | + meta: { title: "我的车牌" } |
106 | }, | 90 | }, |
107 | - | ||
108 | { | 91 | { |
109 | - path: '/addCarNum', | ||
110 | - name: 'addCarNum', | 92 | + path: "/addCarNum", |
93 | + name: "addCarNum", | ||
111 | component: () => import("@/views//mySelf/myCars/addCarNum.vue"), | 94 | component: () => import("@/views//mySelf/myCars/addCarNum.vue"), |
112 | - meta: {title: "添加车牌"} | 95 | + meta: { title: "添加车牌" } |
113 | }, | 96 | }, |
114 | { | 97 | { |
115 | - path: '/rzCarNumber', | ||
116 | - name: 'rzCarNumber', | ||
117 | - component: () => import("@/views//mySelf/myCars/rzCarNumber.vue"), | 98 | + path: "/rzCarNumber", |
99 | + name: "rzCarNumber", | ||
100 | + component: () => import("@/views//mySelf/myCars/rzCarNumber.vue") | ||
118 | // meta: {title: "认证车牌"} | 101 | // meta: {title: "认证车牌"} |
119 | }, | 102 | }, |
120 | - | ||
121 | - | ||
122 | { | 103 | { |
123 | - path: '/cardList', | ||
124 | - name: 'cardList', | 104 | + path: "/cardList", |
105 | + name: "cardList", | ||
125 | component: () => import("@/views//cards/cardList.vue"), | 106 | component: () => import("@/views//cards/cardList.vue"), |
126 | - meta: {title: "会员卡列表"} | 107 | + meta: { title: "会员卡列表" } |
127 | }, | 108 | }, |
128 | - | ||
129 | - | ||
130 | { | 109 | { |
131 | - path: '/buyCardDetail', | ||
132 | - name: 'buyCardDetail', | 110 | + path: "/buyCardDetail", |
111 | + name: "buyCardDetail", | ||
133 | component: () => import("@/views//cards/buyCardDetail.vue"), | 112 | component: () => import("@/views//cards/buyCardDetail.vue"), |
134 | - meta: {title: "购买会员卡"} | 113 | + meta: { title: "购买会员卡" } |
135 | }, | 114 | }, |
136 | - | ||
137 | { | 115 | { |
138 | - path: '/buyVipCard', | ||
139 | - name: 'buyVipCard', | 116 | + path: "/buyVipCard", |
117 | + name: "buyVipCard", | ||
140 | component: () => import("@/views//cards/buyVipCard.vue"), | 118 | component: () => import("@/views//cards/buyVipCard.vue"), |
141 | - meta: {title: "购买会员卡"} | 119 | + meta: { title: "购买会员卡" } |
142 | }, | 120 | }, |
143 | - | ||
144 | - | ||
145 | - | ||
146 | - | ||
147 | - | ||
148 | // ------------------------购买会员卡提示 | 121 | // ------------------------购买会员卡提示 |
149 | { | 122 | { |
150 | - path: '/cardPoint', | ||
151 | - name: 'cardPoint', | 123 | + path: "/cardPoint", |
124 | + name: "cardPoint", | ||
152 | component: () => import("@/views/cards/cardPoint.vue") | 125 | component: () => import("@/views/cards/cardPoint.vue") |
153 | }, | 126 | }, |
154 | - | ||
155 | - | ||
156 | // ------------------------购买会员卡 | 127 | // ------------------------购买会员卡 |
157 | { | 128 | { |
158 | - path: '/buyCard', | ||
159 | - name: 'buyCard', | 129 | + path: "/buyCard", |
130 | + name: "buyCard", | ||
160 | component: () => import("@/views/cards/buyCard.vue"), | 131 | component: () => import("@/views/cards/buyCard.vue"), |
161 | - meta: {title: "购买会员卡"} | ||
162 | - }, | ||
163 | - | ||
164 | - | ||
165 | - | ||
166 | - | ||
167 | - | ||
168 | - | ||
169 | - | ||
170 | - | ||
171 | - | 132 | + meta: { title: "购买会员卡" } |
133 | + } | ||
172 | ] | 134 | ] |
173 | -}) | 135 | +}); |
src/views/cards/buyCardDetail.vue
@@ -10,35 +10,45 @@ | @@ -10,35 +10,45 @@ | ||
10 | <div class="van-ellipsis" style="padding: 20px 0 10px 20px">万达停车场plName</div> | 10 | <div class="van-ellipsis" style="padding: 20px 0 10px 20px">万达停车场plName</div> |
11 | <div class="van-ellipsis" style="padding: 0 0 0 20px">万达停车场plAddress</div> | 11 | <div class="van-ellipsis" style="padding: 0 0 0 20px">万达停车场plAddress</div> |
12 | </div> | 12 | </div> |
13 | - | ||
14 | - | ||
15 | - | ||
16 | - <van-cell-group inset style="margin-bottom: 10px;" @click="LinkBuyCard"> | 13 | + <van-cell-group inset style="margin-bottom: 10px;" v-for="i in list" @click="LinkBuyCard"> |
17 | <van-cell > | 14 | <van-cell > |
18 | <template #title> | 15 | <template #title> |
19 | <span style="font-size: 20px;font-weight: 600;">年卡</span> | 16 | <span style="font-size: 20px;font-weight: 600;">年卡</span> |
20 | </template> | 17 | </template> |
21 | </van-cell> | 18 | </van-cell> |
22 | - <van-cell title="万达月卡cardName" center value="立即购买" label="单价:¥1800.00" is-link> | 19 | + <van-cell :title= "i.cardName" center value="立即购买" :label="'单价:'+(i.actPrice/100).toFixed(2)" is-link> |
23 | </van-cell> | 20 | </van-cell> |
24 | </van-cell-group> | 21 | </van-cell-group> |
25 | 22 | ||
26 | - <van-cell-group inset style="margin-bottom: 10px;"> | ||
27 | - <van-cell > | ||
28 | - <template #title> | ||
29 | - <span style="font-size: 20px;font-weight: 600;">年卡</span> | ||
30 | - </template> | ||
31 | - </van-cell> | ||
32 | - <van-cell title="万达月卡cardName" center value="立即购买" label="单价:¥1800.00" is-link> | ||
33 | - </van-cell> | ||
34 | - </van-cell-group> | 23 | + <!--<van-cell-group inset style="margin-bottom: 10px;">--> |
24 | + <!--<van-cell >--> | ||
25 | + <!--<template #title>--> | ||
26 | + <!--<span style="font-size: 20px;font-weight: 600;">年卡</span>--> | ||
27 | + <!--</template>--> | ||
28 | + <!--</van-cell>--> | ||
29 | + <!--<van-cell title="万达月卡cardName" center value="立即购买" label="单价:¥1800.00" is-link>--> | ||
30 | + <!--</van-cell>--> | ||
31 | + <!--</van-cell-group>--> | ||
35 | </section> | 32 | </section> |
36 | 33 | ||
37 | </template> | 34 | </template> |
38 | 35 | ||
39 | <script> | 36 | <script> |
37 | + | ||
38 | +import { queryVipCardByPlNo } from "@/api/card/card"; | ||
40 | export default { | 39 | export default { |
41 | name: "buyCardDetail", | 40 | name: "buyCardDetail", |
41 | + data(){ | ||
42 | + return{ | ||
43 | + plNo:'', | ||
44 | + list:[] | ||
45 | + } | ||
46 | + }, | ||
47 | + created(){ | ||
48 | + this.plNo = this.$route.query.plNo | ||
49 | + console.log(this.plNo) | ||
50 | + this.queryVipCardByPlNo() | ||
51 | + }, | ||
42 | 52 | ||
43 | methods:{ | 53 | methods:{ |
44 | LinkBuyCard(){ | 54 | LinkBuyCard(){ |
@@ -46,6 +56,19 @@ export default { | @@ -46,6 +56,19 @@ export default { | ||
46 | name: "buyVipCard" | 56 | name: "buyVipCard" |
47 | } | 57 | } |
48 | ); | 58 | ); |
59 | + }, | ||
60 | + queryVipCardByPlNo() { | ||
61 | + let jsondata = { | ||
62 | + parkNo:this.plNo, | ||
63 | + saleChannel: "2" | ||
64 | + }; | ||
65 | + jsondata.sign = this.$utils.signObject(jsondata); | ||
66 | + queryVipCardByPlNo(jsondata).then(response => { | ||
67 | + // console.log(response.data[0].parkList); | ||
68 | + | ||
69 | + console.log(response); | ||
70 | + this.list = response.data | ||
71 | + }); | ||
49 | } | 72 | } |
50 | } | 73 | } |
51 | }; | 74 | }; |
src/views/cards/cardList.vue
@@ -15,21 +15,17 @@ | @@ -15,21 +15,17 @@ | ||
15 | </van-col> | 15 | </van-col> |
16 | </van-row> | 16 | </van-row> |
17 | 17 | ||
18 | - <ul> | ||
19 | - <li class="cardListWrap" @click="toBuyCardPage"> | ||
20 | - <div class="van-ellipsis" style="padding: 20px 0 10px 10px">万达停车场plName</div> | ||
21 | - <div class="van-ellipsis" style="padding: 10px 0 20px 10px">万达停车场plAddress</div> | ||
22 | - </li> | ||
23 | - <li class="cardListWrap"> | ||
24 | - <div class="van-ellipsis" style="padding: 20px 0 10px 10px">万达停车场plName</div> | ||
25 | - <div class="van-ellipsis" style="padding: 10px 0 20px 10px">万达停车场plAddress</div> | 18 | + <ul v-if="cardList.length>0"> |
19 | + <li class="cardListWrap" v-for="i in cardList[0].parkList" @click="toBuyCardPage(i)"> | ||
20 | + <div class="van-ellipsis" style="padding: 20px 0 10px 10px">{{i.plName}}</div> | ||
21 | + <div class="van-ellipsis" style="padding: 10px 0 20px 10px;color: #999">{{i.plAddress}}</div> | ||
26 | </li> | 22 | </li> |
27 | </ul> | 23 | </ul> |
28 | 24 | ||
29 | 25 | ||
30 | - <section style="text-align: center;padding-top: 20px"> | ||
31 | - <van-image :src="require('../../assets/images/cards/novipcard.png')" /> | ||
32 | - <p>为找到会员卡</p> | 26 | + <section style="text-align: center;padding-top: 20px" v-else> |
27 | + <van-image :src="require('../../assets/images/cards/novipcard.png')"/> | ||
28 | + <p>未找到会员卡</p> | ||
33 | </section> | 29 | </section> |
34 | 30 | ||
35 | 31 | ||
@@ -38,33 +34,69 @@ | @@ -38,33 +34,69 @@ | ||
38 | </template> | 34 | </template> |
39 | 35 | ||
40 | <script> | 36 | <script> |
41 | -import { Toast } from 'vant'; | 37 | +import { queryVipCardListByOrgId, queryVipCardListByPlName } from "@/api/card/card"; |
42 | export default { | 38 | export default { |
43 | name: "cardList", | 39 | name: "cardList", |
44 | data() { | 40 | data() { |
45 | return { | 41 | return { |
46 | - value: '', | 42 | + value: "", |
43 | + cardList: [] | ||
47 | }; | 44 | }; |
48 | }, | 45 | }, |
46 | + created() { | ||
47 | + this.queryVipCardListByOrgId(); | ||
48 | + }, | ||
49 | methods: { | 49 | methods: { |
50 | onSearch(val) { | 50 | onSearch(val) { |
51 | - Toast(val); | 51 | + console.log("111" + val); |
52 | + // Toast(val); | ||
53 | + let jsondata = { | ||
54 | + orgId: this.$utils.orgId, | ||
55 | + parkName: val, | ||
56 | + saleChannel: "2" | ||
57 | + }; | ||
58 | + jsondata.sign = this.$utils.signObject(jsondata); | ||
59 | + queryVipCardListByPlName(jsondata).then(response => { | ||
60 | + // console.log(response.data[0].parkList); | ||
61 | + this.cardList = response.data; | ||
62 | + console.log(response); | ||
63 | + }); | ||
52 | }, | 64 | }, |
53 | onCancel() { | 65 | onCancel() { |
54 | - Toast('取消'); | 66 | + // Toast('取消'); |
55 | }, | 67 | }, |
56 | - toBuyCardPage(){ | 68 | + toBuyCardPage(i) { |
57 | this.$router.push({ | 69 | this.$router.push({ |
58 | - name: "buyCardDetail" | 70 | + name: "buyCardDetail", |
71 | + query: { | ||
72 | + plNo: i.plNo, | ||
73 | + plName: i.plName, | ||
74 | + plAddress: i.plAddress | ||
75 | + } | ||
59 | } | 76 | } |
60 | ); | 77 | ); |
78 | + }, | ||
79 | + queryVipCardListByOrgId() { | ||
80 | + let jsondata = { | ||
81 | + orgId: this.$utils.orgId, | ||
82 | + longitude: "115.10114", | ||
83 | + latitude: "40.616892", | ||
84 | + type: "00", | ||
85 | + limit: "10000000", | ||
86 | + saleChannel: "2" | ||
87 | + }; | ||
88 | + jsondata.sign = this.$utils.signObject(jsondata); | ||
89 | + queryVipCardListByOrgId(jsondata).then(response => { | ||
90 | + console.log(response.data); | ||
91 | + this.cardList = response.data; | ||
92 | + }); | ||
61 | } | 93 | } |
62 | - }, | 94 | + } |
63 | }; | 95 | }; |
64 | </script> | 96 | </script> |
65 | 97 | ||
66 | <style scoped> | 98 | <style scoped> |
67 | - .cardListWrap{ | 99 | + .cardListWrap { |
68 | margin-top: 15px; | 100 | margin-top: 15px; |
69 | margin-left: 0px; | 101 | margin-left: 0px; |
70 | margin-right: 0px; | 102 | margin-right: 0px; |
src/views/mySelf/selfNav.vue
@@ -81,10 +81,10 @@ export default { | @@ -81,10 +81,10 @@ export default { | ||
81 | ); | 81 | ); |
82 | } else { | 82 | } else { |
83 | this.$toast("请先登录"); | 83 | this.$toast("请先登录"); |
84 | - this.$router.push({ | ||
85 | - name: "binDing" | ||
86 | - } | ||
87 | - ); | 84 | + // this.$router.push({ |
85 | + // name: "binDing" | ||
86 | + // } | ||
87 | + // ); | ||
88 | } | 88 | } |
89 | }, | 89 | }, |
90 | toBindingPage() { | 90 | toBindingPage() { |