Commit 555e2a0e4ecda935b3c093710c5e69fdec7774e1
1 parent
aabd3df4
续费会员卡
Showing
10 changed files
with
774 additions
and
112 deletions
src/api/parkNotes/parkNotes.js
0 → 100644
| 1 | +import request from '@/utils/request' | |
| 2 | + | |
| 3 | +// 通过车牌查询历史欠费单 | |
| 4 | +export function queryParkingRecordCarNumbers(params) { | |
| 5 | + return request({ | |
| 6 | + url: 'queryParkOrder/queryParkingRecordCarNumbers', | |
| 7 | + method: 'post', | |
| 8 | + data: params | |
| 9 | + }) | |
| 10 | +} | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | ... | ... |
src/api/suggest/suggest.js
0 → 100644
| 1 | +import request from '@/utils/request' | |
| 2 | + | |
| 3 | +// 获取反馈建议问题类型 | |
| 4 | +export function getFeedbackType(params) { | |
| 5 | + return request({ | |
| 6 | + url: 'suggest/getFeedbackType', | |
| 7 | + method: 'post', | |
| 8 | + data: params | |
| 9 | + }) | |
| 10 | +} | |
| 11 | + | |
| 12 | +// 保存用户的反馈建议 | |
| 13 | +export function saveFeedbackAndSuggest(params) { | |
| 14 | + return request({ | |
| 15 | + url: 'suggest/saveFeedbackAndSuggest', | |
| 16 | + method: 'post', | |
| 17 | + data: params | |
| 18 | + }) | |
| 19 | +} | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | ... | ... |
src/router/index.js
| ... | ... | @@ -30,7 +30,10 @@ export default new Router({ |
| 30 | 30 | { |
| 31 | 31 | path: '/plateNumber', |
| 32 | 32 | name: 'plateNumber', |
| 33 | - component: plateNumber | |
| 33 | + component: plateNumber, | |
| 34 | + meta:{ | |
| 35 | + title:'停车缴费' | |
| 36 | + } | |
| 34 | 37 | }, |
| 35 | 38 | |
| 36 | 39 | { |
| ... | ... | @@ -109,7 +112,10 @@ export default new Router({ |
| 109 | 112 | { |
| 110 | 113 | path: '/selfNav', |
| 111 | 114 | name: 'selfNav', |
| 112 | - component: () => import("@/views/mySelf/selfNav.vue") | |
| 115 | + component: () => import("@/views/mySelf/selfNav.vue"), | |
| 116 | + meta:{ | |
| 117 | + title:'个人中心' | |
| 118 | + } | |
| 113 | 119 | }, |
| 114 | 120 | // |
| 115 | 121 | // ------------------------建议反馈 |
| ... | ... | @@ -126,7 +132,10 @@ export default new Router({ |
| 126 | 132 | { |
| 127 | 133 | path: '/parkNotes', |
| 128 | 134 | name: 'parkNotes', |
| 129 | - component: () => import("@/views/mySelf/parkNotes/parkNotes.vue") | |
| 135 | + component: () => import("@/views/mySelf/parkNotes/parkNotes.vue"), | |
| 136 | + meta:{ | |
| 137 | + title:'停车记录' | |
| 138 | + } | |
| 130 | 139 | }, |
| 131 | 140 | // |
| 132 | 141 | // |
| ... | ... | @@ -184,6 +193,18 @@ export default new Router({ |
| 184 | 193 | } |
| 185 | 194 | }, |
| 186 | 195 | |
| 196 | + { | |
| 197 | + path: '/renew', | |
| 198 | + name: 'renew', | |
| 199 | + component: () => import("@/views/cards/renew.vue"), | |
| 200 | + meta:{ | |
| 201 | + title:'续费会员卡' | |
| 202 | + } | |
| 203 | + }, | |
| 204 | + | |
| 205 | + | |
| 206 | + | |
| 207 | + | |
| 187 | 208 | |
| 188 | 209 | |
| 189 | 210 | ... | ... |
src/utils/utils.js
| ... | ... | @@ -209,7 +209,7 @@ export default { |
| 209 | 209 | deviceInfo: this.myDeviceInfo, |
| 210 | 210 | salt: salt, |
| 211 | 211 | sign_type: "md5", |
| 212 | - token: sessionStorage.getItem("wx_Token"), //de8eb9cce14b4c8f81d027fcda0b78f8 sessionStorage.getItem("wx_Token") | |
| 212 | + token: sessionStorage.getItem("wx_Token"), //c23849735f3442f3b95f7bec816317ae sessionStorage.getItem("wx_Token") | |
| 213 | 213 | orgId: this.myOrgId |
| 214 | 214 | }; |
| 215 | 215 | return reqData; | ... | ... |
src/views/cards/Cards.vue
| 1 | 1 | <template> |
| 2 | 2 | <div style="height: 100%;display: flex;flex-direction: column;"> |
| 3 | 3 | <div style="flex: 1;overflow-y: auto;padding: 15px"> |
| 4 | - <div class="noCardData" v-if="cardList.length == 0"> | |
| 4 | + <div class="noCardData" v-if="cardList.length == 0"> | |
| 5 | 5 | <p>您目前没有任何会员卡,</p> |
| 6 | 6 | <p>请绑定车牌通过认证后再购买会员卡!</p> |
| 7 | 7 | </div> |
| 8 | 8 | |
| 9 | 9 | <div v-else> |
| 10 | - <div class="cardBg" v-for="(i ,index) in cardList"> | |
| 10 | + <div v-for="(i ,index) in cardList" class="cardBg" | |
| 11 | + :class="{'nianka':i.cardType==1,'bannianka':i.cardType==2,'jika':i.cardType==3,'yueka':i.cardType==4,'rika':i.cardType==5,shixiao:i.cardStatus==0}" | |
| 12 | + > | |
| 11 | 13 | <ul class="cardList"> |
| 12 | - <li> | |
| 13 | - 会员卡- {{i.cardType=='1'?'年卡':(i.cardType=='2'?'半年卡':(i.cardType=='3'?'季卡':(i.cardType=='4'?'月卡':(i.cardType=='5'?'日卡':''))))}} | |
| 14 | + <li style="padding-left: 25px;"> | |
| 15 | + 会员卡- | |
| 16 | + {{i.cardType=="1"?"年卡":(i.cardType=="2"?"半年卡":(i.cardType=="3"?"季卡":(i.cardType=="4"?"月卡":(i.cardType=="5"?"日卡":""))))}} | |
| 14 | 17 | </li> |
| 15 | 18 | <li> |
| 16 | 19 | 绑定车牌号: {{ i.carNumber }} |
| ... | ... | @@ -22,6 +25,17 @@ |
| 22 | 25 | 卡名称: {{ i.cardName }} |
| 23 | 26 | </li> |
| 24 | 27 | </ul> |
| 28 | + <div class="cardStatus" | |
| 29 | + v-if="i.cardStatus==1" | |
| 30 | + :class="{'niankaStatus':i.cardType==1,'banniankaStatus':i.cardType==2,'jikaStatus':i.cardType==3,'yuekaStatus':i.cardType==4,'rikaStatus':i.cardType==5}" | |
| 31 | + > | |
| 32 | + 月卡生效中 | |
| 33 | + </div> | |
| 34 | + <div class="cardStatus shixiaocardStatus" v-else>月卡已失效</div> | |
| 35 | + <div class="renewBtn" @click="toReNew(i)" | |
| 36 | + v-if="i.cardStatus==1" | |
| 37 | + :class="{'niankaStatus':i.cardType==1,'banniankaStatus':i.cardType==2,'jikaStatus':i.cardType==3,'yuekaStatus':i.cardType==4,'rikaStatus':i.cardType==5}" | |
| 38 | + >续费</div> | |
| 25 | 39 | </div> |
| 26 | 40 | <!--cardType=='1'?'年卡':(cardType=='2'?'半年卡':(cardType=='3'?'季卡':(cardType=='4'?'月卡':(cardType=='5'?'日卡':''))))--> |
| 27 | 41 | |
| ... | ... | @@ -29,7 +43,6 @@ |
| 29 | 43 | </div> |
| 30 | 44 | |
| 31 | 45 | |
| 32 | - | |
| 33 | 46 | </div> |
| 34 | 47 | <x-button type="primary" @click.native="$router.push({path:'buyCard'})">购买会员卡</x-button> |
| 35 | 48 | </div> |
| ... | ... | @@ -48,6 +61,7 @@ export default { |
| 48 | 61 | this.queryVipCardsByCustId(); |
| 49 | 62 | }, |
| 50 | 63 | methods: { |
| 64 | + // 获取会员卡列表 | |
| 51 | 65 | queryVipCardsByCustId: function() { |
| 52 | 66 | let jsondata = this.$utils.commonParams(); |
| 53 | 67 | jsondata.sign = this.$utils.signObject(jsondata); |
| ... | ... | @@ -55,11 +69,17 @@ export default { |
| 55 | 69 | console.log(data); |
| 56 | 70 | if (data.code == 0) { |
| 57 | 71 | let res = data.data; |
| 58 | - this.cardList = res | |
| 72 | + this.cardList = res; | |
| 59 | 73 | } else { |
| 60 | 74 | this.$vux.toast.text(data.message, "top"); |
| 61 | 75 | } |
| 62 | 76 | }); |
| 77 | + }, | |
| 78 | + // 续费 | |
| 79 | + toReNew: function(i) { | |
| 80 | + console.log(i); | |
| 81 | + sessionStorage.setItem("renewData", JSON.stringify(i)); | |
| 82 | + this.$router.push("renew"); | |
| 63 | 83 | } |
| 64 | 84 | } |
| 65 | 85 | }; |
| ... | ... | @@ -76,17 +96,82 @@ export default { |
| 76 | 96 | .cardBg { |
| 77 | 97 | width: 100%; |
| 78 | 98 | height: 150px; |
| 79 | - background: #26a2ff url("../../assets/images/cards/cards.png") no-repeat 20px 20px; | |
| 99 | + position: relative; | |
| 100 | + background-image: url("../../assets/images/cards/cards.png"); | |
| 101 | + background-repeat: no-repeat; | |
| 102 | + background-position: 20px 20px; | |
| 80 | 103 | background-size: 90% 90%; |
| 81 | 104 | border-radius: 8px; |
| 82 | 105 | margin-bottom: 15px; |
| 106 | + overflow: hidden; | |
| 107 | + } | |
| 108 | + .nianka{ | |
| 109 | + background-color: #dd6c1e; | |
| 83 | 110 | } |
| 84 | - .cardList{ | |
| 111 | + .bannianka{ | |
| 112 | + background-color: #2A1DD2; | |
| 113 | + } | |
| 114 | + .jika{ | |
| 115 | + background-color: #DF6B1B; | |
| 116 | + } | |
| 117 | + | |
| 118 | + .yueka{ | |
| 119 | + background-color: #33CCFF; | |
| 120 | + } | |
| 121 | + .rika{ | |
| 122 | + background-color: #498816; | |
| 123 | + } | |
| 124 | + .shixiao{ | |
| 125 | + background-color: #ccc; | |
| 126 | + } | |
| 127 | + | |
| 128 | + .cardList { | |
| 85 | 129 | padding: 20px 0 0 20px; |
| 86 | 130 | color: #fff; |
| 87 | - li{ | |
| 131 | + li { | |
| 88 | 132 | line-height: 30px; |
| 89 | 133 | } |
| 90 | 134 | } |
| 135 | + .cardStatus{ | |
| 136 | + position: absolute; | |
| 137 | + left: -22px; | |
| 138 | + top: 21px; | |
| 139 | + font-size: 12px; | |
| 140 | + -webkit-transform: rotate(30deg); | |
| 141 | + transform: rotate(-43deg); | |
| 142 | + width: 100px; | |
| 143 | + text-align: center; | |
| 144 | + color: #fff; | |
| 145 | + } | |
| 146 | + .niankaStatus{ | |
| 147 | + background-color: #c17b12; | |
| 148 | + } | |
| 149 | + .yuekaStatus{ | |
| 150 | + background-color: #3989a3; | |
| 151 | + } | |
| 152 | + .banniankaStatus{ | |
| 153 | + background-color: #7972cb; | |
| 154 | + } | |
| 155 | + .jikaStatus{ | |
| 156 | + background-color: #f19f67; | |
| 157 | + } | |
| 158 | + .rikaStatus{ | |
| 159 | + background-color: #7edb33; | |
| 160 | + } | |
| 161 | + .shixiaocardStatus{ | |
| 162 | + background-color: #a59d9d; | |
| 163 | + } | |
| 164 | + | |
| 165 | + .renewBtn { | |
| 166 | + position: absolute; | |
| 167 | + top: 20px; | |
| 168 | + right: 20px; | |
| 169 | + /*border: 1px solid #ffbe00;*/ | |
| 170 | + /*background: #ffbe00;*/ | |
| 171 | + color: #fff; | |
| 172 | + padding: 2px 10px; | |
| 173 | + border-radius: 4px; | |
| 174 | + cursor: pointer; | |
| 175 | + } | |
| 91 | 176 | |
| 92 | 177 | </style> | ... | ... |
src/views/cards/renew.vue
0 → 100644
| 1 | +<template> | |
| 2 | + <div> | |
| 3 | + <ul class="choose-area"> | |
| 4 | + | |
| 5 | + | |
| 6 | + <li> | |
| 7 | + <div style="color: #666">选择停车场</div> | |
| 8 | + <div >{{renewData.parkName}}</div> | |
| 9 | + <!--<div class="arrow">></div>--> | |
| 10 | + <!--<div class="arrow">></div>--> | |
| 11 | + </li> | |
| 12 | + | |
| 13 | + | |
| 14 | + <!--<li>--> | |
| 15 | + <!--<div style="color: #666">卡名称</div>--> | |
| 16 | + <!--<div>微纳园卡</div>--> | |
| 17 | + <!--</li>--> | |
| 18 | + | |
| 19 | + <li> | |
| 20 | + <div style="color: #666">选择卡类型</div> | |
| 21 | + <div >{{renewData.cardName}}</div> | |
| 22 | + | |
| 23 | + <!--<div class="arrow">></div>--> | |
| 24 | + </li> | |
| 25 | + | |
| 26 | + | |
| 27 | + <li> | |
| 28 | + <div style="color: #666">绑定车牌</div> | |
| 29 | + <div>{{renewData.carNumber}}</div> | |
| 30 | + <!--<div class="arrow">></div>--> | |
| 31 | + </li> | |
| 32 | + | |
| 33 | + <li> | |
| 34 | + <div style="color: #A31414">生效时间</div> | |
| 35 | + <div style="color: #A31414" >{{renewData.expDate }}</div> | |
| 36 | + <!--<div class="arrow">></div>--> | |
| 37 | + </li> | |
| 38 | + | |
| 39 | + <li> | |
| 40 | + <div style="color: #666">有效期至</div> | |
| 41 | + <div>{{ $utils.timestampToTime(endTimeFunc) }}</div> | |
| 42 | + </li> | |
| 43 | + | |
| 44 | + | |
| 45 | + <li> | |
| 46 | + <div style="color: #666">购买数量</div> | |
| 47 | + <div class="choose-num"> | |
| 48 | + <span @click="addCardNum">+</span> | |
| 49 | + <span>{{cardNum}}</span> | |
| 50 | + <span @click="reduceCarNum">-</span> | |
| 51 | + </div> | |
| 52 | + </li> | |
| 53 | + | |
| 54 | + <li> | |
| 55 | + <div style="color: #666">单价</div> | |
| 56 | + <div>¥{{ (unitPrice/100).toFixed(2)}}</div> | |
| 57 | + </li> | |
| 58 | + | |
| 59 | + | |
| 60 | + <li> | |
| 61 | + <div style="color: #666">优惠金额</div> | |
| 62 | + <div>¥{{(disPrice/100).toFixed(2)}}</div> | |
| 63 | + </li> | |
| 64 | + | |
| 65 | + <li> | |
| 66 | + <div style="color: #666">应付金额</div> | |
| 67 | + <div style="color: #A31414">¥{{(needPay/100).toFixed(2)}}</div> | |
| 68 | + </li> | |
| 69 | + | |
| 70 | + </ul> | |
| 71 | + | |
| 72 | + <div style="padding:15px;text-align: center"> | |
| 73 | + <check-icon :value.sync="agreement"> | |
| 74 | + </check-icon> | |
| 75 | + <p style="display: inline-block;height: 23px;line-height: 23px;">我已阅读并同意 <span style="color: blue" | |
| 76 | + @click="showHideOnBlur=true">《购买须知》</span> | |
| 77 | + </p> | |
| 78 | + </div> | |
| 79 | + | |
| 80 | + | |
| 81 | + <div style="margin-top: 34px" class="leftRightPadding"> | |
| 82 | + <mt-button type="danger" size="large" @click="toPay">确定购买</mt-button> | |
| 83 | + </div> | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + <div v-transfer-dom> | |
| 88 | + <x-dialog v-model="showHideOnBlur" class="dialog-demo" hide-on-blur> | |
| 89 | + <div class="agreen-box"> | |
| 90 | + <p> | |
| 91 | + 1. 本停车卡为指定停车场有效使用,为特定的场地停车权限,请按照停车场场地自主选择购买。 | |
| 92 | + </p> | |
| 93 | + <p> | |
| 94 | + 2. 月卡(季卡)一经售出,概不退卡,允许车牌变更1次(有效期内)。 | |
| 95 | + </p> | |
| 96 | + <p> | |
| 97 | + 3. 年卡可以支持车牌变更3次(有效期内),年卡退卡需要按照原价扣除已经使用月份(不满一个月按照一个月计算)并退回已开具发票。 | |
| 98 | + </p> | |
| 99 | + <p> | |
| 100 | + 4. 停车场管理方对车辆及车内财务无看管保全义务,车主须遵守停车场管理规定将车辆停在车场的停车位内,乱停车辆引起的贴条和拖车等后果由车主自行承担。 | |
| 101 | + </p> | |
| 102 | + <p> | |
| 103 | + 5. 友情提醒:妥善关闭和锁定已停车入位的车辆,不在车内放置现金和其它贵重物品,其它停车规定须遵守所辖停车场的管理规定(参见停车场公示)。 | |
| 104 | + </p> | |
| 105 | + </div> | |
| 106 | + <div @click="showHideOnBlur=false"> | |
| 107 | + <span class="vux-close">X</span> | |
| 108 | + </div> | |
| 109 | + </x-dialog> | |
| 110 | + </div> | |
| 111 | + | |
| 112 | + | |
| 113 | + </div> | |
| 114 | +</template> | |
| 115 | + | |
| 116 | +<script> | |
| 117 | +import { TransferDomDirective as TransferDom } from "vux"; | |
| 118 | +import { | |
| 119 | + queryParkListForVipCard, | |
| 120 | + queryVipCardInfoByPlNo, | |
| 121 | + queryUserCars, | |
| 122 | + weixinpay, | |
| 123 | + createVipCardOrder | |
| 124 | +} from "@/api/cards/cards"; | |
| 125 | +import { timestampToTime } from "../../utils/utils.js"; | |
| 126 | +export default { | |
| 127 | + name: "renew", | |
| 128 | + directives: { | |
| 129 | + TransferDom | |
| 130 | + }, | |
| 131 | + data() { | |
| 132 | + return { | |
| 133 | + startDate:new Date(), | |
| 134 | + dateVal: "", | |
| 135 | + startData: "", | |
| 136 | + endDate: "", | |
| 137 | + parkName: "", | |
| 138 | + parkNo: "", | |
| 139 | + cardNum: 1, // 卡数量 | |
| 140 | + unitPrice: 0, // 单价 | |
| 141 | + disPrice: 0, // 优惠金额 | |
| 142 | + needPay: 0, // 应付 | |
| 143 | + agreement: false, | |
| 144 | + typeNum: 1, // 卡类型判断 | |
| 145 | + showHideOnBlur: false, // 购买协议 | |
| 146 | + createVipCardOrder: {}, // 创建订单对象 | |
| 147 | + orderId: "", // 订单号 | |
| 148 | + renewData: {} // 续费数据 | |
| 149 | + }; | |
| 150 | + }, | |
| 151 | + mounted() { | |
| 152 | + this.renewData = JSON.parse(sessionStorage.getItem("renewData")); | |
| 153 | + console.log(this.renewData); | |
| 154 | + this.unitPrice = this.renewData.price; | |
| 155 | + this.disPrice = this.renewData.price * ((10 - this.renewData.discount) / 10); | |
| 156 | + this.needPay = this.unitPrice - this.disPrice; | |
| 157 | + this.typeNum = this.renewData.cardType | |
| 158 | + this.startData = this.renewData.expDate | |
| 159 | + // this.queryParkListForVipCard(); // 获取停车场 | |
| 160 | + // this.queryUserCars(); // 获取用户车牌 | |
| 161 | + }, | |
| 162 | + computed: { | |
| 163 | + // 卡类型 1-年卡;2-半年卡;3-季卡;4-月卡;5-日卡; | |
| 164 | + endTimeFunc() { | |
| 165 | + | |
| 166 | + if (this.startData) { | |
| 167 | + | |
| 168 | + switch (this.typeNum) { | |
| 169 | + case '1': | |
| 170 | + this.endDate = this.$moment(this.startData).add(12, "month").format("YYYY-MM-DD"); | |
| 171 | + return this.$moment(this.startData).add(12, "month").format("YYYY-MM-DD"); | |
| 172 | + break; | |
| 173 | + case '2': | |
| 174 | + this.endDate = this.$moment(this.startData).add(6, "month").format("YYYY-MM-DD"); | |
| 175 | + return this.$moment(this.startData).add(6, "month").format("YYYY-MM-DD"); | |
| 176 | + break; | |
| 177 | + case '3': | |
| 178 | + this.endDate = this.$moment(this.startData).add(3, "month").format("YYYY-MM-DD"); | |
| 179 | + return this.$moment(this.startData).add(3, "month").format("YYYY-MM-DD"); | |
| 180 | + break; | |
| 181 | + case '4': | |
| 182 | + this.endDate = this.$moment(this.startData).add(1, "month").format("YYYY-MM-DD"); | |
| 183 | + return this.$moment(this.startData).add(1, "month").format("YYYY-MM-DD"); | |
| 184 | + break; | |
| 185 | + case '5': | |
| 186 | + this.endDate = this.$moment(this.startData).add(1, "days").format("YYYY-MM-DD"); | |
| 187 | + return this.$moment(this.startData).add(1, "days").format("YYYY-MM-DD"); | |
| 188 | + break; | |
| 189 | + } | |
| 190 | + // return this.$moment(this.startData).add(1,"month").format("YYYY-MM-DD"); | |
| 191 | + // return this.startData.getMonth()+1 | |
| 192 | + } | |
| 193 | + // switch (val){ | |
| 194 | + // case 2: | |
| 195 | + // return this.startData.setMonth(this.startData.getMonth()+1); | |
| 196 | + // break; | |
| 197 | + // } | |
| 198 | + } | |
| 199 | + }, | |
| 200 | + methods: { | |
| 201 | + | |
| 202 | + | |
| 203 | + | |
| 204 | + | |
| 205 | + clickActionCarNum(e) { | |
| 206 | + this.carNumber = e.name; | |
| 207 | + }, | |
| 208 | + addCardNum() { // 增加购买数量 | |
| 209 | + this.cardNum++; | |
| 210 | + this.calcMoney(); | |
| 211 | + }, | |
| 212 | + reduceCarNum() { // 增加购买数量 | |
| 213 | + if (this.cardNum == 1) { | |
| 214 | + return; | |
| 215 | + } | |
| 216 | + this.cardNum--; | |
| 217 | + this.calcMoney(); | |
| 218 | + }, | |
| 219 | + calcMoney() { | |
| 220 | + this.needPay = this.cardNum * (this.unitPrice - this.disPrice); | |
| 221 | + }, | |
| 222 | + // 购买 | |
| 223 | + toPay() { | |
| 224 | + | |
| 225 | + if (!this.agreement) { | |
| 226 | + this.$vux.toast.text("请同意购买须知", "top"); | |
| 227 | + return; | |
| 228 | + } | |
| 229 | + this.createOrder(); | |
| 230 | + }, | |
| 231 | + createOrder() { | |
| 232 | + console.log(this.createVipCardOrder); | |
| 233 | + let me = this; | |
| 234 | + let jsondata = this.$utils.commonParams(); | |
| 235 | + jsondata.plNo = this.renewData.parkNo; // 停车场id | |
| 236 | + jsondata.cardNo = this.renewData.cardNo; // 卡券编码 | |
| 237 | + jsondata.cardType = this.renewData.cardType; // 卡类型 | |
| 238 | + jsondata.carType = this.renewData.carType; // 1-大型车;2-小型车 | |
| 239 | + // jsondata.plNo = this.createVipCardOrder.id; // 1-大型车;2-小型车 | |
| 240 | + jsondata.price = this.renewData.price; // 卡单价 | |
| 241 | + jsondata.totalAmount = (this.needPay).toString(); // 购买的总金额 | |
| 242 | + jsondata.num = (this.cardNum).toString(); // 购买数量 | |
| 243 | + jsondata.effDate = this.renewData.expDate; // 生效时间 | |
| 244 | + jsondata.expDate = this.$utils.timestampToTime(this.endTimeFunc); // 失效时间 | |
| 245 | + jsondata.carNumber = this.renewData.carNumber; // 卡适用车牌 | |
| 246 | + jsondata.optType = "2"; // 操作类型 1 购买 2 续费 | |
| 247 | + jsondata.forceBuy = "1"; | |
| 248 | + jsondata.cardCouponsId = this.renewData.custCardNo | |
| 249 | + jsondata.sign = this.$utils.signObject(jsondata); | |
| 250 | + createVipCardOrder(jsondata).then(data => { | |
| 251 | + console.log(data); | |
| 252 | + // orderId | |
| 253 | + if (data.code == 0) { | |
| 254 | + this.orderId = data.data.orderId; | |
| 255 | + this.vxPay(); | |
| 256 | + } else { | |
| 257 | + this.$vux.toast.text(data.message, "top"); | |
| 258 | + } | |
| 259 | + }); | |
| 260 | + }, | |
| 261 | + vxPay() { | |
| 262 | + let vm = this; | |
| 263 | + let jsondata = this.$utils.commonParams(); | |
| 264 | + jsondata.orderId = this.orderId; // 订单号 | |
| 265 | + jsondata.payType = "4"; // 支付方式-- 1:支付宝 2:微信 3:银联. | |
| 266 | + jsondata.paySrcType = "302"; // 支付单来源 101:停车付款单 102:停车预付单 103:停车补缴单 104 共享车位 201 余额充值单 202 押金充值单 301 会员卡购买单 302 会员卡续费 | |
| 267 | + jsondata.appId = this.$utils.myVxAppId; // 微信标识符 | |
| 268 | + jsondata.terminalSource = "3"; // 请求端来源 1: 任你停 2:pda 3:微信公共号 | |
| 269 | + jsondata.paySource = "3"; | |
| 270 | + jsondata.couponPersonId = ""; | |
| 271 | + jsondata.openId = 'o0Moh6eQhTm5bZVqT6wjdSUsZonM'; // o0Moh6eQhTm5bZVqT6wjdSUsZonM sessionStorage.getItem("wx_openId") | |
| 272 | + jsondata.sign = this.$utils.signObject(jsondata); | |
| 273 | + weixinpay(jsondata).then(res => { | |
| 274 | + console.log(data); | |
| 275 | + if (res.code == 0) { // | |
| 276 | + if (res.data) { | |
| 277 | + var data = res.data; | |
| 278 | + console.log(JSON.stringify(data)); | |
| 279 | + if (typeof WeixinJSBridge === "undefined") { // 微信浏览器内置对象。参考微信官方文档 | |
| 280 | + if (document.addEventListener) { | |
| 281 | + document.addEventListener("WeixinJSBridgeReady", vm.onBridgeReady(data), false); | |
| 282 | + } else if (document.attachEvent) { | |
| 283 | + document.attachEvent("WeixinJSBridgeReady", vm.onBridgeReady(data)); | |
| 284 | + document.attachEvent("onWeixinJSBridgeReady", vm.onBridgeReady(data)); | |
| 285 | + } | |
| 286 | + } else { | |
| 287 | + console.log("准备调用微信支付"); | |
| 288 | + vm.onBridgeReady(data); | |
| 289 | + } | |
| 290 | + } else { | |
| 291 | + alert("没有找到返回值"); | |
| 292 | + } | |
| 293 | + } else { | |
| 294 | + alert(res.message); | |
| 295 | + } | |
| 296 | + }); | |
| 297 | + }, | |
| 298 | + onBridgeReady(params) { | |
| 299 | + let me = this; | |
| 300 | + console.log("调用微信支付WeixinJSBridge"); | |
| 301 | + WeixinJSBridge.invoke( | |
| 302 | + "getBrandWCPayRequest", params, | |
| 303 | + // | |
| 304 | + // 'getBrandWCPayRequest', { // 下面参数内容都是后台返回的 | |
| 305 | + // 'appId': data.appId, // 公众号名称,由商户传入 | |
| 306 | + // 'timeStamp': data.timeStamp, // 时间戳 | |
| 307 | + // 'nonceStr': data.nonceStr, // 随机串 | |
| 308 | + // 'package': data.package, // 预支付id | |
| 309 | + // 'signType': data.signType, // 微信签名方式 | |
| 310 | + // 'paySign': data.paySign // 微信签名 | |
| 311 | + // }, | |
| 312 | + function(res) { | |
| 313 | + // 使用以上方式判断前端返回,微信团队郑重提示:res.err_msg将在用户支付成功后返回ok,但并不保证它绝对可靠。 | |
| 314 | + if (res.err_msg === "get_brand_wcpay_request:ok") { | |
| 315 | + console.log("成功"); | |
| 316 | + this.$vux.toast.text("支付成功", "top"); | |
| 317 | + me.$router.go(-2); | |
| 318 | + } else { | |
| 319 | + console.log("失败"); | |
| 320 | + alert("支付失败"); | |
| 321 | + me.$router.go(-2); | |
| 322 | + } | |
| 323 | + } | |
| 324 | + ); | |
| 325 | + } | |
| 326 | + } | |
| 327 | +}; | |
| 328 | +</script> | |
| 329 | + | |
| 330 | +<style scoped lang="scss"> | |
| 331 | + .choose-area { | |
| 332 | + background: #fff; | |
| 333 | + padding: 0 10px; | |
| 334 | + } | |
| 335 | + | |
| 336 | + .choose-area > li { | |
| 337 | + padding-right: 20px; | |
| 338 | + position: relative; | |
| 339 | + height: 38px; | |
| 340 | + line-height: 38px; | |
| 341 | + border-bottom: 1px solid #EFEFEF; | |
| 342 | + display: flex; | |
| 343 | + justify-content: space-between; | |
| 344 | + .arrow { | |
| 345 | + position: absolute; | |
| 346 | + right: 0; | |
| 347 | + top: 0; | |
| 348 | + font-size: 16px; | |
| 349 | + } | |
| 350 | + &:last-child { | |
| 351 | + border-bottom: 0; | |
| 352 | + } | |
| 353 | + } | |
| 354 | + | |
| 355 | + .choose-num { | |
| 356 | + height: 28px; | |
| 357 | + margin-top: 5px; | |
| 358 | + line-height: 28px; | |
| 359 | + display: flex; | |
| 360 | + border: 1px solid #D8D8D8; | |
| 361 | + span { | |
| 362 | + display: inline-block; | |
| 363 | + &:nth-of-type(1) { | |
| 364 | + width: 28px; | |
| 365 | + height: 28px; | |
| 366 | + text-align: center; | |
| 367 | + cursor: pointer; | |
| 368 | + } | |
| 369 | + &:nth-of-type(2) { | |
| 370 | + width: 50px; | |
| 371 | + text-align: center; | |
| 372 | + border-left: 1px solid #D8D8D8; | |
| 373 | + border-right: 1px solid #D8D8D8; | |
| 374 | + } | |
| 375 | + &:nth-of-type(3) { | |
| 376 | + width: 28px; | |
| 377 | + height: 28px; | |
| 378 | + text-align: center; | |
| 379 | + cursor: pointer; | |
| 380 | + } | |
| 381 | + } | |
| 382 | + } | |
| 383 | + | |
| 384 | + .parkArea { | |
| 385 | + padding-top: 10px; | |
| 386 | + padding-bottom: 10px; | |
| 387 | + margin-top: 10px; | |
| 388 | + background: #fff; | |
| 389 | + color: #999; | |
| 390 | + } | |
| 391 | + | |
| 392 | + .parkAreaTitle { | |
| 393 | + display: flex; | |
| 394 | + justify-content: space-between; | |
| 395 | + color: #666; | |
| 396 | + } | |
| 397 | + | |
| 398 | + .parkMore { | |
| 399 | + cursor: pointer; | |
| 400 | + } | |
| 401 | + | |
| 402 | + .park-list-wrap { | |
| 403 | + width: 80%; | |
| 404 | + max-height: 70%; | |
| 405 | + overflow-y: scroll; | |
| 406 | + border-radius: 5px; | |
| 407 | + } | |
| 408 | + | |
| 409 | + .park-list { | |
| 410 | + /*width: 80%;*/ | |
| 411 | + li { | |
| 412 | + padding-left: 20px; | |
| 413 | + line-height: 25px; | |
| 414 | + } | |
| 415 | + } | |
| 416 | + | |
| 417 | + .agreen-box { | |
| 418 | + padding: 15px; | |
| 419 | + text-align: left; | |
| 420 | + p { | |
| 421 | + margin-bottom: 15px; | |
| 422 | + } | |
| 423 | + } | |
| 424 | + | |
| 425 | + .vux-close { | |
| 426 | + margin-top: 8px; | |
| 427 | + margin-bottom: 8px; | |
| 428 | + font-size: 18px; | |
| 429 | + } | |
| 430 | + | |
| 431 | + /deep/ .picker-items { | |
| 432 | + width: 100% | |
| 433 | + } | |
| 434 | + | |
| 435 | + | |
| 436 | +</style> | ... | ... |
src/views/mySelf/feedback/suggestionBack.vue
| ... | ... | @@ -3,46 +3,80 @@ |
| 3 | 3 | <p class="suggestion-tip">请选择您反馈的问题类型</p> |
| 4 | 4 | <ul class="suggestionList"> |
| 5 | 5 | <li |
| 6 | - @click="chooseHandle(index)" | |
| 7 | 6 | v-for="(i, index) in suggestionList" |
| 8 | - :key="i.id" | |
| 7 | + @click="chooseHandle(index,i.code)" | |
| 8 | + :key="i.name" | |
| 9 | 9 | :class="{choosedActive: currentIndex==index}" |
| 10 | 10 | > |
| 11 | - {{i.text}} | |
| 11 | + {{i.name}} | |
| 12 | 12 | </li> |
| 13 | 13 | </ul> |
| 14 | 14 | |
| 15 | 15 | <div class="clear"></div> |
| 16 | 16 | |
| 17 | - <mt-field label="" placeholder="请详细描述反馈问题,或提出改进建议。(300字以内)" type="textarea" rows="4" v-model="introduction" :attr="{ maxlength: 2 }"></mt-field> | |
| 17 | + <mt-field label="" placeholder="请详细描述反馈问题,或提出改进建议。(300字以内)" type="textarea" rows="4" v-model.trim="introduction" :attr="{ maxlength: 300 }"></mt-field> | |
| 18 | 18 | |
| 19 | 19 | <div style="margin-top: 34px"> |
| 20 | - <mt-button type="danger" size="large">提交</mt-button> | |
| 20 | + <mt-button type="danger" size="large" @click="saveHandle">提交</mt-button> | |
| 21 | 21 | </div> |
| 22 | 22 | </div> |
| 23 | 23 | </template> |
| 24 | 24 | |
| 25 | 25 | <script> |
| 26 | +import { | |
| 27 | + getFeedbackType, | |
| 28 | + saveFeedbackAndSuggest | |
| 29 | +} from "@/api/suggest/suggest"; | |
| 30 | + | |
| 26 | 31 | export default { |
| 27 | 32 | name: 'suggestionBack', |
| 28 | 33 | data() { |
| 29 | 34 | return { |
| 30 | - suggestionList: [ | |
| 31 | - { id: 1, text: 'APP问题' }, | |
| 32 | - { id: 2, text: '支付问题' }, | |
| 33 | - { id: 3, text: '停车场问题' }, | |
| 34 | - { id: 4, text: '服务投诉' }, | |
| 35 | - { id: 5, text: '改进建议' }, | |
| 36 | - { id: 6, text: '其他问题' }, | |
| 37 | - ], | |
| 35 | + suggestionList: [], | |
| 38 | 36 | currentIndex: 0, |
| 37 | + feedbackCode:1, | |
| 39 | 38 | introduction: '', |
| 40 | 39 | } |
| 41 | 40 | }, |
| 41 | + mounted(){ | |
| 42 | + this.getFeedbackType1() | |
| 43 | + }, | |
| 42 | 44 | methods: { |
| 43 | - chooseHandle: function (i) { | |
| 44 | - console.log(i) | |
| 45 | + // 获取反馈建议问题类型 | |
| 46 | + getFeedbackType1: function(){ | |
| 47 | + let jsondata = this.$utils.commonParams(); | |
| 48 | + console.log(jsondata) | |
| 49 | + jsondata.sign = this.$utils.signObject(jsondata); | |
| 50 | + getFeedbackType(jsondata).then(data => { | |
| 51 | + console.log(data) | |
| 52 | + this.suggestionList = data.data | |
| 53 | + }) | |
| 54 | + }, | |
| 55 | + // 反馈建议问题类型切换事件 | |
| 56 | + chooseHandle: function (i,code) { | |
| 57 | + console.log(code) | |
| 45 | 58 | this.currentIndex = i |
| 59 | + this.feedbackCode = code | |
| 60 | + }, | |
| 61 | + // 提交建议反馈事件 | |
| 62 | + saveHandle: function() { | |
| 63 | + if(this.introduction){ | |
| 64 | + let jsondata = this.$utils.commonParams(); | |
| 65 | + jsondata.feedbackCode = this.feedbackCode | |
| 66 | + jsondata.suggestDesc = this.introduction | |
| 67 | + jsondata.sign = this.$utils.signObject(jsondata); | |
| 68 | + saveFeedbackAndSuggest(jsondata).then(data => { | |
| 69 | + console.log(data) | |
| 70 | + if (data.code == 0) { | |
| 71 | + this.introduction = '' | |
| 72 | + this.$vux.toast.text('提交反馈成功', "top"); | |
| 73 | + }else{ | |
| 74 | + this.$vux.toast.text(data.message, "top"); | |
| 75 | + } | |
| 76 | + }) | |
| 77 | + }else{ | |
| 78 | + this.$vux.toast.text('请输入反馈内容后再提交', "top"); | |
| 79 | + } | |
| 46 | 80 | } |
| 47 | 81 | } |
| 48 | 82 | } | ... | ... |
src/views/mySelf/parkNotes/parkNotes.vue
| 1 | 1 | <template> |
| 2 | 2 | <div> |
| 3 | - <ul class="notesList"> | |
| 4 | - <li>车牌号: <span>蒙DMW169</span></li> | |
| 5 | - <li>车牌颜色: <span>蓝色</span></li> | |
| 6 | - <li>进场时间: <span>2020-12-19 12:59:18</span></li> | |
| 7 | - <li>出场时间: <span>2020-12-19 12:59:18</span></li> | |
| 8 | - <li>停车时长: <span>18分33秒</span></li> | |
| 9 | - </ul> | |
| 10 | - <ul class="notesList"> | |
| 11 | - <li>车牌号: <span>蒙DMW169</span></li> | |
| 12 | - <li>车牌颜色: <span>蓝色</span></li> | |
| 13 | - <li>进场时间: <span>2020-12-19 12:59:18</span></li> | |
| 14 | - <li>出场时间: <span>2020-12-19 12:59:18</span></li> | |
| 15 | - <li>停车时长: <span>18分33秒</span></li> | |
| 16 | - </ul> | |
| 3 | + <div v-if="notesList.length>0"> | |
| 4 | + <ul class="notesList" v-for="(i, index) in notesList"> | |
| 5 | + <li>车牌号: <span>{{i.carNumber}}</span></li> | |
| 6 | + <li>车牌颜色: <span>蓝色</span></li> | |
| 7 | + <li>进场时间: <span>{{i.parkInTime}}</span></li> | |
| 8 | + <li>出场时间: <span>{{i.parkOutTime}}</span></li> | |
| 9 | + <li>停车时长: <span>{{i.parkDuration}}</span></li> | |
| 10 | + </ul> | |
| 11 | + <ul class="notesList"> | |
| 12 | + <li>车牌号: <span>蒙DMW169</span></li> | |
| 13 | + <li>车牌颜色: <span>蓝色</span></li> | |
| 14 | + <li>进场时间: <span>2020-12-19 12:59:18</span></li> | |
| 15 | + <li>出场时间: <span>2020-12-19 12:59:18</span></li> | |
| 16 | + <li>停车时长: <span>18分33秒</span></li> | |
| 17 | + </ul> | |
| 18 | + </div> | |
| 17 | 19 | |
| 18 | - <div class="noRecord" >暂无记录</div> | |
| 20 | + | |
| 21 | + <div class="noRecord" v-else>暂无记录</div> | |
| 19 | 22 | |
| 20 | 23 | </div> |
| 21 | 24 | </template> |
| 22 | 25 | |
| 23 | 26 | <script> |
| 27 | +import { | |
| 28 | + queryParkingRecordCarNumbers | |
| 29 | +} from "@/api/parkNotes/parkNotes"; | |
| 24 | 30 | export default { |
| 25 | - name: 'parkRecord' | |
| 26 | -} | |
| 31 | + name: "parkRecord", | |
| 32 | + data() { | |
| 33 | + return { | |
| 34 | + notesList: [] | |
| 35 | + }; | |
| 36 | + }, | |
| 37 | + mounted() { | |
| 38 | + this.getRecord(); | |
| 39 | + }, | |
| 40 | + methods: { | |
| 41 | + getRecord: function() { | |
| 42 | + let jsondata = this.$utils.commonParams(); | |
| 43 | + console.log(jsondata); | |
| 44 | + jsondata.parkState = "20"; | |
| 45 | + /**停车状态 10:在场 ,20:离场.*/ | |
| 46 | + jsondata.orderState = "40"; | |
| 47 | + /**订单状态[字典表:ORDER_STATE]:10:待核算,20:待支付,30:支付中,40:支付完成,52:欠费逃逸, 53:已补缴 60:退款中 70:退款成功*/ | |
| 48 | + jsondata.sign = this.$utils.signObject(jsondata); | |
| 49 | + queryParkingRecordCarNumbers(jsondata).then(data => { | |
| 50 | + console.log(data); | |
| 51 | + this.notesList = data.data; | |
| 52 | + console.log(this.notesList) | |
| 53 | + }); | |
| 54 | + } | |
| 55 | + } | |
| 56 | +}; | |
| 27 | 57 | </script> |
| 28 | 58 | |
| 29 | 59 | <style scoped lang="scss"> | ... | ... |
src/views/mySelf/selfNav.vue
| ... | ... | @@ -40,6 +40,7 @@ export default { |
| 40 | 40 | data() { |
| 41 | 41 | return { |
| 42 | 42 | menuList: [ |
| 43 | + { name: "停车缴费", path: "plateNumber" }, | |
| 43 | 44 | { name: "会员卡", path: "Cards" }, |
| 44 | 45 | { name: "车辆管理", path: "myCars" }, |
| 45 | 46 | { name: "发票管理", path: "eInvoiceWrap" }, |
| ... | ... | @@ -68,7 +69,7 @@ export default { |
| 68 | 69 | let that = this; |
| 69 | 70 | if(sessionStorage.getItem("wx_openId")){ |
| 70 | 71 | this.getTokenByOpenId(sessionStorage.getItem("wx_openId")); |
| 71 | - this.getinfoself() | |
| 72 | + // this.getinfoself() | |
| 72 | 73 | }else{ |
| 73 | 74 | if (this.webAppCode) { |
| 74 | 75 | this.getopenid(); | ... | ... |
src/views/parkPay/plateNumber.vue
| ... | ... | @@ -18,20 +18,20 @@ |
| 18 | 18 | <div class="wrap"> |
| 19 | 19 | <!--<p style="margin-bottom: 18px;margin-top: 18px;">请选择车牌颜色</p>--> |
| 20 | 20 | |
| 21 | - <!--<ul class="color-choose">--> | |
| 22 | - <!--<li v-for="(i,index) in colorList" :key="i.name" @click="chooseColor(index)"--> | |
| 23 | - <!--:style="{color:currentColor==index?'#FFF':'',background: currentColor==index?activeBG:'' }"--> | |
| 24 | - <!-->--> | |
| 25 | - <!--{{i.name}}--> | |
| 26 | - <!--</li>--> | |
| 21 | + <ul class="color-choose"> | |
| 22 | + <li v-for="(i,index) in colorList" :key="i.name" @click="chooseColor(index)" | |
| 23 | + :style="{color:currentColor==index?'#FFF':'',background: currentColor==index?activeBG:'' }" | |
| 24 | + > | |
| 25 | + {{i.name}} | |
| 26 | + </li> | |
| 27 | 27 | |
| 28 | - <!--</ul>--> | |
| 28 | + </ul> | |
| 29 | 29 | |
| 30 | 30 | |
| 31 | 31 | |
| 32 | 32 | |
| 33 | - | |
| 34 | - <p style="margin-bottom: 18px;margin-top: 18px;">请输入车牌号码</p> | |
| 33 | + <p style="margin-bottom: 18px;margin-top: 18px;"></p> | |
| 34 | + <!--<p style="margin-bottom: 18px;margin-top: 18px;">请输入车牌号码</p>--> | |
| 35 | 35 | <div class="num-box"> |
| 36 | 36 | <div class="num0" @click="clickFirstWrap()"> |
| 37 | 37 | <span>{{formData.num0}}</span> |
| ... | ... | @@ -47,30 +47,30 @@ |
| 47 | 47 | </div> |
| 48 | 48 | |
| 49 | 49 | |
| 50 | - <div class="radio-box"> | |
| 51 | - <label class="flex-items-center"> | |
| 52 | - <img v-if="formData.commonCard == 1" | |
| 53 | - src="../../assets/images/parkPay/icon_chose_s@2x.png" | |
| 54 | - alt=""> | |
| 55 | - <img v-else | |
| 56 | - src="../../assets/images/parkPay/icon_chose_n@2x.png" | |
| 57 | - alt=""> | |
| 58 | - <input type="radio" | |
| 59 | - v-model="formData.commonCard" | |
| 60 | - value="1" />普通车牌 | |
| 61 | - </label> | |
| 62 | - <label class="flex-items-center"> | |
| 63 | - <img v-if="formData.commonCard == 2" | |
| 64 | - src="../../assets/images/parkPay/icon_chose_s@2x.png" | |
| 65 | - alt=""> | |
| 66 | - <img v-else | |
| 67 | - src="../../assets/images/parkPay/icon_chose_n@2x.png" | |
| 68 | - alt=""> | |
| 69 | - <input type="radio" | |
| 70 | - v-model="formData.commonCard" | |
| 71 | - value="2" />新能源车牌 | |
| 72 | - </label> | |
| 73 | - </div> | |
| 50 | + <!--<div class="radio-box">--> | |
| 51 | + <!--<label class="flex-items-center">--> | |
| 52 | + <!--<img v-if="formData.commonCard == 1"--> | |
| 53 | + <!--src="../../assets/images/parkPay/icon_chose_s@2x.png"--> | |
| 54 | + <!--alt="">--> | |
| 55 | + <!--<img v-else--> | |
| 56 | + <!--src="../../assets/images/parkPay/icon_chose_n@2x.png"--> | |
| 57 | + <!--alt="">--> | |
| 58 | + <!--<input type="radio"--> | |
| 59 | + <!--v-model="formData.commonCard"--> | |
| 60 | + <!--value="1" />普通车牌--> | |
| 61 | + <!--</label>--> | |
| 62 | + <!--<label class="flex-items-center">--> | |
| 63 | + <!--<img v-if="formData.commonCard == 2"--> | |
| 64 | + <!--src="../../assets/images/parkPay/icon_chose_s@2x.png"--> | |
| 65 | + <!--alt="">--> | |
| 66 | + <!--<img v-else--> | |
| 67 | + <!--src="../../assets/images/parkPay/icon_chose_n@2x.png"--> | |
| 68 | + <!--alt="">--> | |
| 69 | + <!--<input type="radio"--> | |
| 70 | + <!--v-model="formData.commonCard"--> | |
| 71 | + <!--value="2" />新能源车牌--> | |
| 72 | + <!--</label>--> | |
| 73 | + <!--</div>--> | |
| 74 | 74 | |
| 75 | 75 | |
| 76 | 76 | <div class="submit-box" @click="submitFn()"> |
| ... | ... | @@ -97,7 +97,7 @@ |
| 97 | 97 | <div class="first-word" |
| 98 | 98 | @click="selectFirstWord($event)"> |
| 99 | 99 | <div class="word"> |
| 100 | - <span>苏</span> | |
| 100 | + <span>蒙</span> | |
| 101 | 101 | </div> |
| 102 | 102 | <div class="word"> |
| 103 | 103 | <span>湘</span> |
| ... | ... | @@ -157,7 +157,7 @@ |
| 157 | 157 | <span>甘</span> |
| 158 | 158 | </div> |
| 159 | 159 | <div class="word"> |
| 160 | - <span>蒙</span> | |
| 160 | + <span>苏</span> | |
| 161 | 161 | </div> |
| 162 | 162 | <div class="word"> |
| 163 | 163 | <span>青</span> |
| ... | ... | @@ -199,38 +199,38 @@ |
| 199 | 199 | <span>新</span> |
| 200 | 200 | </div> |
| 201 | 201 | <!--<div class="word">--> |
| 202 | - <!--<span>学</span>--> | |
| 202 | + <!--<span>学</span>--> | |
| 203 | 203 | <!--</div>--> |
| 204 | 204 | <div class="word bordernone"> |
| 205 | - <!-- <img src="../assets/images/icon-switch.png" alt=""> --> | |
| 205 | + <!-- <img src="../assets/images/icon-switch.png" alt=""> --> | |
| 206 | 206 | </div> |
| 207 | 207 | </div> |
| 208 | 208 | |
| 209 | 209 | <!--<div class="first-word"--> |
| 210 | - <!--@click="selectFirstWord($event)">--> | |
| 211 | - <!--<div class="word">--> | |
| 212 | - <!--<span>港</span>--> | |
| 213 | - <!--</div>--> | |
| 214 | - <!--<div class="word">--> | |
| 215 | - <!--<span>澳</span>--> | |
| 216 | - <!--</div>--> | |
| 217 | - <!--<div class="word">--> | |
| 218 | - <!--<span>领</span>--> | |
| 219 | - <!--</div>--> | |
| 210 | + <!--@click="selectFirstWord($event)">--> | |
| 211 | + <!--<div class="word">--> | |
| 212 | + <!--<span>港</span>--> | |
| 213 | + <!--</div>--> | |
| 214 | + <!--<div class="word">--> | |
| 215 | + <!--<span>澳</span>--> | |
| 216 | + <!--</div>--> | |
| 217 | + <!--<div class="word">--> | |
| 218 | + <!--<span>领</span>--> | |
| 219 | + <!--</div>--> | |
| 220 | 220 | |
| 221 | - <!--<div class="word">--> | |
| 222 | - <!--<span>警</span>--> | |
| 223 | - <!--</div>--> | |
| 221 | + <!--<div class="word">--> | |
| 222 | + <!--<span>警</span>--> | |
| 223 | + <!--</div>--> | |
| 224 | 224 | |
| 225 | 225 | |
| 226 | - <!--<div class="word bordernone">--> | |
| 227 | - <!--</div>--> | |
| 228 | - <!--<div class="word bordernone">--> | |
| 229 | - <!--</div>--> | |
| 230 | - <!--<div class="word bordernone">--> | |
| 231 | - <!--</div>--> | |
| 232 | - <!--<div class="word bordernone">--> | |
| 233 | - <!--</div>--> | |
| 226 | + <!--<div class="word bordernone">--> | |
| 227 | + <!--</div>--> | |
| 228 | + <!--<div class="word bordernone">--> | |
| 229 | + <!--</div>--> | |
| 230 | + <!--<div class="word bordernone">--> | |
| 231 | + <!--</div>--> | |
| 232 | + <!--<div class="word bordernone">--> | |
| 233 | + <!--</div>--> | |
| 234 | 234 | <!--</div>--> |
| 235 | 235 | </div> |
| 236 | 236 | <div class="keyboard-wrap" v-if="keyBoardStatus === true"> |
| ... | ... | @@ -301,6 +301,8 @@ import {swiperQuery} from '../../api/plateNumber/plateNumber' |
| 301 | 301 | export default { |
| 302 | 302 | data () { |
| 303 | 303 | return { |
| 304 | + | |
| 305 | + // 0:蓝牌;1:黄牌;2:白牌;3:黑牌;4:绿色 | |
| 304 | 306 | colorList:[ |
| 305 | 307 | { |
| 306 | 308 | name:'蓝牌', |
| ... | ... | @@ -310,16 +312,17 @@ export default { |
| 310 | 312 | name:'黄牌', |
| 311 | 313 | id:'2' |
| 312 | 314 | }, |
| 315 | + | |
| 313 | 316 | { |
| 314 | - name:'绿牌', | |
| 317 | + name:'白牌', | |
| 315 | 318 | id:'3' |
| 316 | 319 | }, |
| 317 | 320 | { |
| 318 | - name:'白牌', | |
| 321 | + name:'黑牌', | |
| 319 | 322 | id:'4' |
| 320 | 323 | }, |
| 321 | 324 | { |
| 322 | - name:'黑牌', | |
| 325 | + name:'绿牌', | |
| 323 | 326 | id:'5' |
| 324 | 327 | }, |
| 325 | 328 | ], |
| ... | ... | @@ -420,23 +423,28 @@ export default { |
| 420 | 423 | } |
| 421 | 424 | }) |
| 422 | 425 | }, |
| 423 | - chooseColor (index){ // 颜色选择 | |
| 426 | + chooseColor (index){ // 颜色选择 0:蓝牌;1:黄牌;2:白牌;3:黑牌;4:绿色 | |
| 424 | 427 | this.currentColor = index |
| 425 | 428 | switch (this.currentColor) { |
| 426 | 429 | case 0 : |
| 430 | + this.formData.commonCard = '1' | |
| 427 | 431 | return this.activeBG = '#0054C0' |
| 428 | 432 | break; |
| 429 | 433 | case 1 : |
| 434 | + this.formData.commonCard = '1' | |
| 430 | 435 | return this.activeBG = '#FEBE00' |
| 431 | 436 | break; |
| 432 | 437 | case 2 : |
| 433 | - return this.activeBG = '#97DEA1' | |
| 438 | + this.formData.commonCard = '1' | |
| 439 | + return this.activeBG = '#E4E5E7' | |
| 434 | 440 | break; |
| 435 | 441 | case 3 : |
| 436 | - return this.activeBG = '#E4E5E7' | |
| 442 | + this.formData.commonCard = '1' | |
| 443 | + return this.activeBG = '#333333' | |
| 437 | 444 | break; |
| 438 | 445 | case 4 : |
| 439 | - return this.activeBG = '#333333' | |
| 446 | + this.formData.commonCard = '2' | |
| 447 | + return this.activeBG = '#97DEA1' | |
| 440 | 448 | break; |
| 441 | 449 | } |
| 442 | 450 | }, |
| ... | ... | @@ -504,7 +512,7 @@ export default { |
| 504 | 512 | plateLicense = this.plate_license_2 |
| 505 | 513 | plateLicense = this.palindrome(plateLicense) |
| 506 | 514 | if (plateLicense.length < 8) { |
| 507 | - this.$msgbox('提示', '请输入正确的车牌号') | |
| 515 | + this.$msgbox('提示', '请输入正确的车牌号') | |
| 508 | 516 | return |
| 509 | 517 | } |
| 510 | 518 | } | ... | ... |