Commit 6e9a3492b5d73533e0dd4a8eae84a114df835889

Authored by 刘淇
1 parent 943f9186

江阴支付

src/assets/images/loseIcon.png 0 → 100644

4.98 KB

src/assets/images/successIcon.png 0 → 100644

6.08 KB

src/router/index.js
... ... @@ -25,6 +25,17 @@ export default new Router({
25 25 name: 'parkRecord',
26 26 component: () => import("@/views/parkPay/parkRecord.vue")
27 27 },
  28 +
  29 + {
  30 + path: '/coupon',
  31 + name: 'coupon',
  32 + component: () => import("@/views/parkPay/coupon.vue")
  33 + },
  34 + {
  35 + path: '/couponPay',
  36 + name: 'couponPay',
  37 + component: () => import("@/views/parkPay/couponPay.vue")
  38 + },
28 39 {
29 40 path: '/plateNumber',
30 41 name: 'plateNumber',
... ... @@ -37,6 +48,8 @@ export default new Router({
37 48 component: () => import("@/views/parkPay/orderPay.vue")
38 49 },
39 50  
  51 +
  52 +
40 53 // //---------------- 个人页面导航
41 54 // {
42 55 // path: '/selfNav',
... ...
src/utils/request.js
... ... @@ -5,7 +5,7 @@ import axios from 'axios'
5 5 const service = axios.create({
6 6 // https://dev.renniting.cn/pay/ 赤峰测试
7 7 // http://pay.service.renniting.cn/ 赤峰
8   - baseURL: 'http://pay.service.renniting.cn/', // url = base url + request url
  8 + baseURL: 'https://pay.jycrtc.com/', // url = base url + request url
9 9 // withCredentials: true, // send cookies when cross-domain requests
10 10 timeout: 6000 // request timeout
11 11 })
... ...
src/utils/utils.js
... ... @@ -139,22 +139,15 @@ export default {
139 139 return '1'
140 140 }
141 141 },
142   - // 0eca8f5373ca4866aec2f8e9d9367104 老的id
143   - // 14318527b13840c2a4af63fef52c2d6e 老的签名
144 142  
145   - // ud8yq5tv0inxupc05xfeau39jywlqoj2 新的id
146   - // ny1u72b6k374sg379z0kqjgfxe2ycnpw 新的签名
147 143  
148   - myVarAppid:'65grtq5tv0wewec05xfeau39jyghhjm',// 公共请求Appid
  144 + myVarAppid:'0eca8f5373ca4866aec2f8e9d9367104',// 公共请求Appid
149 145  
150 146 myDeviceInfo: 'BC0703A4-AFB0-4B51-9089-9B7487C0CC6E', // 公共请求设备信息
151 147  
152   - myVxAppId: 'wx2af2bab90d433c86',
153   - // 测试环境 微信赤峰 appid wxff4cebaedbf4f886
154   - // 微信赤峰 appid wx2af2bab90d433c86
155   - // 黄石 appid wxa1a66cc7d263afe6
  148 + myVxAppId: 'wxfdc1af620d3ab750',
156 149  
157   - myOrgId: '10003', // 归属地 赤峰id 10003 黄石 10079
  150 + myOrgId: '10107', //
158 151  
159 152 myGetSign: function (objb) { // 获取签名
160 153 var compare = function (obj1, obj2) {
... ... @@ -169,13 +162,13 @@ export default {
169 162 }
170 163 }
171 164 objb.sort(compare);
172   - var strmd5 = 'dfdf2b6k37r5y79z0kqjgfxe2wet3434';
  165 + var strmd5 = '14318527b13840c2a4af63fef52c2d6e';
173 166 for(var i=0;i<objb.length;i++){
174 167 if(objb[i].value != null&&objb[i].value != ''){
175 168 strmd5 += objb[i].keyname+objb[i].value;
176 169 }
177 170 }
178   - strmd5 += 'dfdf2b6k37r5y79z0kqjgfxe2wet3434';
  171 + strmd5 += '14318527b13840c2a4af63fef52c2d6e';
179 172 // console.log('strmd5-------->'+strmd5);
180 173 strmd5 = md5(strmd5);
181 174 strmd5=strmd5.toUpperCase();
... ...
src/views/parkPay/coupon.vue 0 → 100644
  1 +<template>
  2 + <div>
  3 + <img :src="successiconUrl" alt="" style="margin: 10px auto;width: 64px;height: 64px;">
  4 + <div style="padding: 10px 30px 50px">
  5 + <p>尊敬的车主您好:</p>
  6 + <p>尊敬的车主您好:</p>
  7 + <p>尊敬的车主您好:</p>
  8 + </div>
  9 + <div style="padding: 0 20px">
  10 + <mt-button size="large" type="primary" @click="toPay" style="margin-bottom: 20px;">去支付</mt-button>
  11 + <mt-button size="large" type="danger" @click="toBackPage">返回</mt-button>
  12 + </div>
  13 +
  14 + </div>
  15 +</template>
  16 +
  17 +<script>
  18 +export default {
  19 + name: "coupon",
  20 + data(){
  21 + return{
  22 + successiconUrl:require('../../assets/images/successIcon.png'),
  23 + loseiconUrl:require('../../assets/images/loseIcon.png'),
  24 + }
  25 + },
  26 + methods:{
  27 + toPay(){
  28 + this.$router.push({
  29 + path:'couponPay'
  30 + })
  31 + },
  32 + toBackPage(){
  33 + this.$router.back()
  34 + }
  35 + }
  36 +};
  37 +</script>
  38 +
  39 +<style scoped>
  40 +
  41 +</style>
... ...
src/views/parkPay/couponPay.vue 0 → 100644
  1 +<template>
  2 + <div>
  3 + <div class="car-wrap">
  4 + <div class="carBG" :class="carWrapBG | formateColor">
  5 + <p class="carNumber">{{carNumber}}</p>
  6 + <p class="payFee">{{(arrearageActFee/100).toFixed(2)}}元</p>
  7 + </div>
  8 + </div>
  9 +
  10 + <ul class="fee-wrap">
  11 + <li>
  12 + <span>停放车场</span>
  13 + <span>{{parkName}}</span>
  14 + </li>
  15 + <li>
  16 + <span>入场时间</span>
  17 + <span>{{parkInTime}}</span>
  18 + </li>
  19 + <li>
  20 + <span>出场时间</span>
  21 + <span>{{parkOutTime}}</span>
  22 + </li>
  23 + <li>
  24 + <span>停车时长</span>
  25 + <span>{{$utils.dateFormat(parkDuration)}}</span>
  26 + </li>
  27 + <li>
  28 + <span>应付金额</span>
  29 + <span> ¥{{(totalFee/100).toFixed(2)}}元</span>
  30 + </li>
  31 + <li>
  32 + <span>停车优惠</span>
  33 + <p>
  34 + ({{cardTypeFormat(carType)}}) <span style="color: #3cc51f">-20.00元</span>
  35 + </p>
  36 + </li>
  37 + <li>
  38 + <span>实际支付</span>
  39 + <span style="color: red"> ¥{{(unPayFee/100).toFixed(2)}}元</span>
  40 + </li>
  41 + </ul>
  42 +
  43 +
  44 +
  45 + <div style="padding: 20px 18px">
  46 + <div class="toPay" @click="toPay">{{clientBrowser}}支付</div>
  47 + </div>
  48 +
  49 + <div v-if="appOrderTimeout.length>0">
  50 + <p class="tip">
  51 + 温馨提示:
  52 + </p>
  53 + <p style="color: #666;padding: 0 18px;">
  54 + {{appOrderTimeout}}
  55 + </p>
  56 + </div>
  57 +
  58 +
  59 +
  60 + </div>
  61 +</template>
  62 +
  63 +<script>
  64 +// import CryptoJS from '../utils/AES.js'
  65 +// let Base64 = require('js-base64').Base64
  66 +import { MessageBox } from 'mint-ui';
  67 +import { aliPay, getOpenId, vxPayQuery, bankH5Pay, queryParkingRecordPageByCarNumbers } from '@/api/orderPay/orderPay'
  68 +
  69 +export default {
  70 + name: 'orderPay',
  71 + data() {
  72 + return {
  73 + carWrapBG: 0,
  74 + carNumber: '苏BB210V',
  75 + parkName:'',
  76 + parkInTime:'',
  77 + parkOutTime:'',
  78 + parkDuration:'',
  79 + carType:1,
  80 + arrearageActFee: 0,
  81 + arrearageDiscFee: 0,
  82 + arrearageActFee: 0,
  83 + totalFee:0,// 应付
  84 + unPayFee:0,// 实付
  85 + parkingData: [], // 在停数据
  86 + historyList: [], // 历史欠费数据
  87 + clientBrowser: '', // 客户端
  88 + paySrcType: '', //支付的类型 101 是本次 103是历史欠费
  89 + orderId: '', //支付的订单
  90 + webAppCode: '', // 微信code
  91 + appOrderTimeout: '', // 超时描述
  92 + }
  93 + },
  94 + created() {
  95 + // this.carWrapBG = this.$route.query.carColor //车牌颜色
  96 + // this.carNumber = this.$route.query.carNumber
  97 + // this.arrearageTotalFee = this.$route.query.arrearageTotalFee // 应收
  98 + // this.arrearageDiscFee = this.$route.query.arrearageDiscFee // 优惠
  99 + // this.arrearageActFee = this.$route.query.arrearageActFee // 实收
  100 + this.clientBrowser = this.$utils.clientBrowser() //支付方式
  101 + // this.paySrcType = this.$route.query.paySrcType // 实收
  102 + // this.orderId = this.$route.query.ordeID
  103 + // console.log(this.orderId)
  104 + // this.appOrderTimeout = this.$route.query.appOrderTimeout
  105 + if (this.clientBrowser == "微信") {
  106 + this.webAppCode = this.getCode();
  107 + }
  108 +
  109 + this.parkRecordList()
  110 +
  111 + },
  112 + mounted(){
  113 +
  114 + },
  115 + methods: {
  116 + parkRecordList() { // 获取停车记录数据
  117 + var salt = this.$utils.myCommonSalt(32);
  118 + var jsondata = {
  119 + app_id: this.$utils.myVarAppid,
  120 + deviceInfo: this.$utils.myDeviceInfo,
  121 + salt: salt,
  122 + sign_type: "md5",
  123 + pageNum: '1',
  124 + pageSize: '1000',
  125 + parkState: '10',
  126 + terminalSource: '3',
  127 + parkState:'10',
  128 + carNumber: this.carNumber,
  129 + carNumberColor: '0',
  130 + orgId: this.$utils.myOrgId,
  131 +
  132 + }
  133 + jsondata.sign = this.$utils.signObject(jsondata)
  134 +
  135 + // jsondata.sign = md5sign
  136 + console.log('停车记录传参 ' + JSON.stringify(jsondata));
  137 + queryParkingRecordPageByCarNumbers(jsondata).then(response => {
  138 + console.log(response)
  139 + let res = response.data.dataList[0]
  140 + this.parkName = res.parkName
  141 +
  142 + this.parkInTime = res.parkInTime
  143 + this.parkOutTime = res.parkOutTime
  144 + this.parkDuration = res.parkDuration
  145 + this.carType = res.carType
  146 +
  147 + this.totalFee = res.totalFee
  148 + this.unPayFee = res.unPayFee
  149 +
  150 + })
  151 + },
  152 + getCode() {
  153 + var appID = this.$utils.myVxAppId;
  154 + var code = this.getUrlParam('code');
  155 + var local = window.location.href;
  156 + if (code == null || code === '') {
  157 + window.location.href = 'https://open.weixin.qq.com/connect/oauth2/authorize?appid=' + appID + '&redirect_uri=' + encodeURIComponent(local) + '&response_type=code&scope=snsapi_userinfo&state=1#wechat_redirect'
  158 + } else {
  159 + return code;
  160 + }
  161 + },
  162 + getUrlParam(name) {
  163 + var reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)');
  164 + var r = window.location.search.substr(1).match(reg)
  165 + if (r != null) return unescape(r[2])
  166 + return null
  167 + },
  168 + toPay() {
  169 + let me = this
  170 + let _order = []
  171 +
  172 + console.log(this.orderId)
  173 + if (this.paySrcType == 103) {
  174 + this.orderId = JSON.parse(this.orderId)
  175 + this.orderId.forEach(item => {
  176 + _order.push({
  177 + orderId: item
  178 + })
  179 + })
  180 + this.orderId = []
  181 + this.orderId = _order
  182 + }
  183 +
  184 +
  185 + if (this.clientBrowser == '支付宝') { // 支付宝支付
  186 + let me = this
  187 + var aliParams = {};
  188 + aliParams.orderId = this.orderId;
  189 + aliParams.carNumber = this.carNumber;
  190 + aliParams.payType = 1;// 1:支付宝 2:微信 3:银联 10:H5 4微信公众号
  191 + aliParams.terminalSource = 7;//请求端来源 1: 任你停 2:pda 3:微信公共号 7:H5扫码 10页面支付
  192 + aliParams.paySrcType = this.paySrcType;//101停车支付
  193 + aliParams.orgId = this.$utils.myOrgId
  194 + aliParams.backType = 2
  195 + aliParams.recordArreaInfos = JSON.stringify(this.orderId);
  196 + console.log(aliParams)
  197 + aliPay(aliParams).then(response => {
  198 + console.log(response)
  199 + if (response.code == 0) {//进场
  200 + document.write(response.data);//打开支付表单
  201 + } else if(response.code == 1002){//其他情况如【该卡号场内已存在】
  202 + console.log(response.message);
  203 + MessageBox.confirm('', {
  204 + message: response.message,
  205 + title: '温馨提示',
  206 + showCancelButton:false,
  207 + confirmButtonText: '确定',
  208 + }).then(action => {
  209 + if (action == 'confirm') { //确认的回调
  210 + console.log('确定');
  211 + this.$router.go(-1)
  212 + }
  213 + }).catch(err => {
  214 + if (err == 'cancel') { //取消的回调
  215 + console.log('取消');
  216 + }
  217 + });
  218 + }else{
  219 + alert(response.message)
  220 + }
  221 +
  222 + })
  223 + }
  224 +
  225 +
  226 + if (this.clientBrowser == '微信') { // 微信支付
  227 + let _openId = sessionStorage.getItem('openIdData')
  228 + if(_openId){
  229 + me.vxPay(_openId, this.orderId)
  230 + }else{
  231 + //第一步获取openid
  232 + var codeParams = {
  233 + code: this.webAppCode,
  234 + appId: this.$utils.myVxAppId
  235 + };
  236 + getOpenId(codeParams).then(res => {
  237 + if (res.code == 0) {
  238 + me.vxPay(res.data, this.orderId)
  239 + sessionStorage.setItem('openIdData',res.data)
  240 + } else if (res.code == 40163) { //code been used, hints[重复code问题]
  241 + alert('请重新支付!重复code问题')
  242 + console.log(res.message);
  243 + } else {
  244 + alert('请重新支付')
  245 + }
  246 + })
  247 + }
  248 + }
  249 + },
  250 + vxPay(openIdData, orderIdData) {
  251 + let vm = this
  252 + var wxParams = {};
  253 + wxParams.orderId = orderIdData;
  254 + wxParams.backType = 2,
  255 + wxParams.orgId = this.$utils.myOrgId,
  256 + wxParams.payType = 4;// 1:支付宝 2:微信 3:银联 10:H5 4微信公众号
  257 + wxParams.terminalSource = 7;//请求端来源 1: 任你停 2:pda 3:微信公共号 7:H5扫码 10页面支付
  258 + wxParams.carNumber = this.carNumber;
  259 + wxParams.paySrcType = this.paySrcType;//101停车支付
  260 + wxParams.recordArreaInfos = JSON.stringify(orderIdData);
  261 + wxParams.openId = openIdData;
  262 + wxParams.appId = this.$utils.myVxAppId;
  263 + vxPayQuery(wxParams).then(res => {
  264 + if (res.code == 0) { //
  265 + if (res.data) {
  266 + var data = res.data;
  267 + console.log(JSON.stringify(data));
  268 + if (typeof WeixinJSBridge === 'undefined') { // 微信浏览器内置对象。参考微信官方文档
  269 + if (document.addEventListener) {
  270 + document.addEventListener('WeixinJSBridgeReady', vm.onBridgeReady(data), false)
  271 + } else if (document.attachEvent) {
  272 + document.attachEvent('WeixinJSBridgeReady', vm.onBridgeReady(data))
  273 + document.attachEvent('onWeixinJSBridgeReady', vm.onBridgeReady(data))
  274 + }
  275 + } else {
  276 + console.log('准备调用微信支付')
  277 + vm.onBridgeReady(data)
  278 + }
  279 + } else {
  280 + alert("没有找到返回值");
  281 + }
  282 + } else if(res.code == 1002){//其他情况如【该卡号场内已存在】
  283 + console.log(res.message);
  284 + MessageBox.confirm('', {
  285 + message: res.message,
  286 + title: '温馨提示',
  287 + showCancelButton:false,
  288 + confirmButtonText: '确定',
  289 + }).then(action => {
  290 + if (action == 'confirm') { //确认的回调
  291 + console.log('确定');
  292 + this.$router.go(-1)
  293 + }
  294 + }).catch(err => {
  295 + if (err == 'cancel') { //取消的回调
  296 + console.log('取消');
  297 + }
  298 + });
  299 + }else{
  300 + alert(res.message)
  301 + }
  302 + })
  303 + },
  304 + onBridgeReady(params) {
  305 + let me = this
  306 + console.log('调用微信支付WeixinJSBridge')
  307 + WeixinJSBridge.invoke(
  308 + 'getBrandWCPayRequest', params,
  309 + //
  310 + // 'getBrandWCPayRequest', { // 下面参数内容都是后台返回的
  311 + // 'appId': data.appId, // 公众号名称,由商户传入
  312 + // 'timeStamp': data.timeStamp, // 时间戳
  313 + // 'nonceStr': data.nonceStr, // 随机串
  314 + // 'package': data.package, // 预支付id
  315 + // 'signType': data.signType, // 微信签名方式
  316 + // 'paySign': data.paySign // 微信签名
  317 + // },
  318 + function (res) {
  319 + // 使用以上方式判断前端返回,微信团队郑重提示:res.err_msg将在用户支付成功后返回ok,但并不保证它绝对可靠。
  320 + if (res.err_msg === 'get_brand_wcpay_request:ok') {
  321 + console.log('成功')
  322 + var salt = me.$utils.myCommonSalt(32);
  323 + let wxparams = {
  324 + pageNum: 1,
  325 + pageSize: 10000,
  326 + parkState: 10,
  327 + terminalSource: 7,
  328 + carNumber: me.carNumber,
  329 + app_id: me.$utils.myVarAppid,
  330 + deviceInfo: me.$utils.myDeviceInfo,
  331 + salt: salt,
  332 + sign_type: "md5",
  333 + token:'',
  334 + }
  335 + wxparams.sign = me.$utils.signObject(wxparams)
  336 + queryParkingRecordPageByCarNumbers(wxparams).then(response => {
  337 + console.log(response)
  338 + me.parkList = response.data.dataList
  339 +
  340 + // alert(JSON.stringify(me.parkList))
  341 + // alert(me.parkList.length)
  342 + if(me.parkList.length == 0){
  343 + me.$router.push({
  344 + path:'parkRecord',
  345 + query:{
  346 + carNumber: me.carNumber,
  347 + carNumberColor: me.carWrapBG,
  348 + parkFlag: 0 // 0表示在停 1表示历史
  349 + }
  350 + })
  351 +
  352 + }else{
  353 + me.parkingData = me.parkList.filter(item => {
  354 + return item.parkState == '10'
  355 + })
  356 + console.log(me.parkingData)
  357 + me.historyList = me.parkList.filter(item => {
  358 + return item.parkState == '20'
  359 + })
  360 + console.log(me.historyList)
  361 +
  362 + if(me.historyList.length>0){
  363 + MessageBox.confirm('', {
  364 + message: '您当前有历史欠费 是否立即补缴?',
  365 + title: '温馨提示',
  366 + confirmButtonText: '去补缴',
  367 + cancelButtonText: '取消'
  368 + }).then(action => {
  369 + if (action == 'confirm') { //确认的回调
  370 + console.log('确定');
  371 + me.$router.push({
  372 + path:'parkRecord',
  373 + query:{
  374 + carNumber: me.carNumber,
  375 + carNumberColor: me.carWrapBG,
  376 + parkFlag: 1 // 0表示在停 1表示历史
  377 + }
  378 + })
  379 + }
  380 + }).catch(err => {
  381 + if (err == 'cancel') { //取消的回调
  382 + console.log('取消');
  383 + }
  384 + });
  385 + }else{
  386 +
  387 + if(me.paySrcType==101){ //缴费了本次
  388 + me.$router.push({
  389 + path:'parkRecord',
  390 + query:{
  391 + carNumber: me.carNumber,
  392 + carNumberColor: me.carWrapBG,
  393 + parkFlag: 0 // 0表示在停 1表示历史
  394 + }
  395 + })
  396 + }else{
  397 + MessageBox.confirm('', {
  398 + message: '您当前有在停订单 是否立即支付?',
  399 + title: '温馨提示',
  400 + confirmButtonText: '去支付',
  401 + cancelButtonText: '取消'
  402 + }).then(action => {
  403 + if (action == 'confirm') { //确认的回调
  404 + console.log('确定');
  405 + me.$router.push({
  406 + path:'parkRecord',
  407 + query:{
  408 + carNumber: me.carNumber,
  409 + carNumberColor: me.carWrapBG,
  410 + parkFlag: 0 // 0表示在停 1表示历史
  411 + }
  412 + })
  413 + }
  414 + }).catch(err => {
  415 + if (err == 'cancel') { //取消的回调
  416 + console.log('取消');
  417 + }
  418 + });
  419 + }
  420 +
  421 + }
  422 + }
  423 +
  424 +
  425 +
  426 + })
  427 +
  428 +
  429 +
  430 + } else {
  431 + console.log('失败')
  432 + alert('支付失败')
  433 + me.$router.go(-2);
  434 + }
  435 + }
  436 + )
  437 + },
  438 + cardTypeFormat : function(num){
  439 + if(num == '1'){
  440 + return '单次券'
  441 + }
  442 + if(num == 2){
  443 + return '时长券'
  444 + }
  445 + if(num == 3){
  446 + return '满减券'
  447 + }
  448 + if(num == 4){
  449 + return '金额券'
  450 + }
  451 + if(num == 5){
  452 + return '包天券'
  453 + }
  454 + if(num == 6){
  455 + return '折扣券'
  456 + }
  457 + }
  458 + },
  459 + filters: {
  460 + }
  461 +}
  462 +</script>
  463 +
  464 +<style scoped lang="scss">
  465 + .car-wrap {
  466 + padding: 7px 7px;
  467 + background: #FFF;
  468 + }
  469 +
  470 + .carBG {
  471 + width: 100%;
  472 + height: 130px;
  473 + }
  474 +
  475 + .carBlue {
  476 + background: url("../../assets/images/blueBG.png") no-repeat;
  477 + background-size: 100% 100%;
  478 + }
  479 +
  480 + .carYellow {
  481 + background: url("../../assets/images/yellowBG.png") no-repeat;
  482 + background-size: 100% 100%;
  483 + }
  484 +
  485 + .carGreen {
  486 + background: url("../../assets/images/greenBG.png") no-repeat;
  487 + background-size: 100% 100%;
  488 + }
  489 +
  490 + .carWhite {
  491 + background: url("../../assets/images/whiteBG.png") no-repeat;
  492 + background-size: 100% 100%;
  493 + }
  494 +
  495 + .carBlack {
  496 + background: url("../../assets/images/blackBG.png") no-repeat;
  497 + background-size: 100% 100%;
  498 + }
  499 +
  500 + .carNumber {
  501 + padding: 20px 0 10px;
  502 + font-size: 30px;
  503 + color: #fff;
  504 + text-align: center;
  505 + }
  506 +
  507 + .payFee {
  508 + font-size: 24px;
  509 + color: #FF7B7B;
  510 + text-align: center;
  511 + }
  512 +
  513 + .fee-wrap {
  514 + background: #FFF;
  515 + padding: 0 18px;
  516 + > li {
  517 + display: flex;
  518 + justify-content: space-between;
  519 + height: 30px;
  520 + line-height: 30px;
  521 + border-bottom: 1px solid #EAEAEA;
  522 + &:last-child {
  523 + border-bottom: 0;
  524 + }
  525 + }
  526 +
  527 + }
  528 +
  529 + .toPay {
  530 + width: 100%;
  531 + height: 44px;
  532 + margin: 0 auto;
  533 + line-height: 44px;
  534 + text-align: center;
  535 + background: linear-gradient(180deg, #3885D9 0%, #4194EF 100%);
  536 + border-radius: 4px;
  537 + border: 1px solid #0D72E2;
  538 + font-size: 20px;
  539 + color: #FFF;
  540 + cursor: pointer;
  541 + }
  542 +
  543 + .tip {
  544 + padding-left: 40px;
  545 + background: url("../../assets/images/tip.png") no-repeat 18px center;
  546 + background-size: 16px 16px;
  547 + color: #666;
  548 + }
  549 +</style>
... ...
src/views/parkPay/plateNumber.vue
1 1 <template>
2 2 <div id="page">
3 3  
4   - <div class="swiper-container" style="height: 260px">
5   - <div class="swiper-wrapper">
6   - <div class="swiper-slide" v-for="item in swiperData" :key="item.id"
7   - :style="{backgroundImage:'url(' + item.url + ')'}"
8   - @click="openImgUrl(item)"
9   - ></div>
10   - </div>
11   - <!-- 如果需要分页器 -->
12   - <div class="swiper-pagination"></div>
13 4  
14   - <!-- 如果需要滚动条 -->
15   - <!-- <div class="swiper-scrollbar"></div>-->
16   - </div>
17 5  
18 6 <div class="wrap">
19   - <!--<p style="margin-bottom: 18px;margin-top: 18px;">请选择车牌颜色</p>-->
  7 + <p style="margin-bottom: 18px;margin-top: 18px;">请选择车牌颜色</p>
20 8  
21 9 <ul class="color-choose">
22 10 <li v-for="(i,index) in colorList" :key="i.name" @click="chooseColor(index)"
... ... @@ -31,7 +19,7 @@
31 19  
32 20  
33 21 <p style="margin-bottom: 18px;margin-top: 18px;"></p>
34   - <!--<p style="margin-bottom: 18px;margin-top: 18px;">请输入车牌号码</p>-->
  22 + <p style="margin-bottom: 18px;margin-top: 18px;">请输入车牌号码</p>
35 23 <div class="num-box">
36 24 <div class="num0" @click="clickFirstWrap()">
37 25 <span>{{formData.num0}}</span>
... ... @@ -74,18 +62,7 @@
74 62  
75 63  
76 64 <div class="submit-box" @click="submitFn()">
77   - 查询
78   - </div>
79   -
80   - <div>
81   - <p style="margin-bottom: 18px;margin-top: 18px;">查询记录</p>
82   - <ul class="bound-list" v-if="boundList.length>0">
83   - <li v-for="i in boundList" :key="i" @click="boundHandle(i)">
84   - <span>{{ i }}</span>
85   - </li>
86   - </ul>
87   - <div v-else style="text-align: center;padding: 10px 0;">暂无查询记录</div>
88   - <!--<div class="addCarNum"><span></span>添加车辆</div>-->
  65 + 领取
89 66 </div>
90 67  
91 68  
... ... @@ -355,12 +332,10 @@ export default {
355 332 submitConfirm: false,
356 333 submitConfirmFalse: false,
357 334 submitConfirmText: '',
358   - swiperData: [], // 轮播数据
359   - boundList:[] // 历史记录
360 335 }
361 336 },
362 337 created(){
363   - this.initSWiper()
  338 +
364 339 },
365 340 mounted () {
366 341 //
... ... @@ -375,54 +350,9 @@ export default {
375 350 // }
376 351 // }
377 352  
378   - this.boundList = JSON.parse(localStorage.getItem('parkRecordList')) ? JSON.parse(localStorage.getItem('parkRecordList')) : []
379   - console.log(this.boundList)
380 353 },
381 354 methods: {
382   - initSWiper() {
383   - var salt = this.$utils.myCommonSalt(32)
384   - var jsondata = {
385   - app_id: this.$utils.myVarAppid,
386   - deviceInfo: this.$utils.myDeviceInfo,
387   - salt: salt,
388   - sign_type: 'md5',
389   - sign: '1',
390   - orgId: this.$utils.myOrgId,
391   - jumpType: '7' // 7 微信公众号 8小票
392   - };
393   - // jsondata = JSON.stringify(jsondata);
394   - swiperQuery(jsondata).then(res => {
395   - this.swiperData = res.data
396   - console.log(this.swiperData)
397   - new Swiper('.swiper-container', {
398   - pagination: '.swiper-pagination',
399   - paginationClickable: true,
400   - centeredSlides: true,
401   - notNextTick: true,
402   - autoplay: 5000,
403   - autoplayDisableOnInteraction: true,
404   -
405   - observer: true, //修改swiper自己或子元素时,自动初始化swiper
406   - observeParents: true, //修改swiper的父元素时,自动初始化swiper
407   - onSlideChangeStart: function (swiper) {
408   - //console.log(swiper.activeIndex)
409   - }
410   - })
411   - })
412   - },
413   - openImgUrl(i) { // 点击图片跳转
414   - window.open(i.jumpUrl)
415   - },
416   - boundHandle(i) { // 记录点击事件
417   - console.log(i)
418   - this.$router.push({
419   - path:'parkRecord',
420   - query:{
421   - carNumber:i,
422   - carNumberColor: this.currentColor
423   - }
424   - })
425   - },
  355 +
426 356 chooseColor (index){ // 颜色选择 0:蓝牌;1:黄牌;2:白牌;3:黑牌;4:绿色
427 357 this.currentColor = index
428 358 switch (this.currentColor) {
... ... @@ -519,15 +449,7 @@ export default {
519 449 this.$emit('getPlateLicense',plateLicense)
520 450 console.log(plateLicense);
521 451  
522   - // boundList
523   - if(this.boundList.indexOf(plateLicense) == -1 ){
524   - if(this.boundList.length == 3){
525   - this.boundList.pop()
526   - }
527   - this.boundList.unshift(plateLicense)
528   - }
529   - localStorage.setItem('parkRecordList',JSON.stringify(this.boundList))
530   - console.log(this.boundList)
  452 +
531 453  
532 454 this.$router.push({
533 455 path:'parkRecord',
... ... @@ -631,16 +553,6 @@ export default {
631 553 </script>
632 554 <style lang="scss" scoped>
633 555  
634   - .swiper-container {
635   - height: 206px;
636   - }
637   -
638   - .swiper-slide {
639   - /*width: 100%;*/
640   - height: 206px;
641   - background-repeat: no-repeat;
642   - background-size: 100% 100%;
643   - }
644 556  
645 557 .flex-items-center {
646 558 display: flex;
... ...