Commit 94c1e6a30c91486f4878880000717bb2ae8241ae
1 parent
0c49c87e
微信公众号 个人页面集合
Showing
36 changed files
with
415 additions
and
79 deletions
build/utils.js
| ... | ... | @@ -61,7 +61,14 @@ exports.cssLoaders = function (options) { |
| 61 | 61 | postcss: generateLoaders(), |
| 62 | 62 | less: generateLoaders('less'), |
| 63 | 63 | sass: generateLoaders('sass', { indentedSyntax: true }), |
| 64 | - scss: generateLoaders('sass'), | |
| 64 | + scss: generateLoaders('sass').concat( | |
| 65 | + { | |
| 66 | + loader: 'sass-resources-loader', | |
| 67 | + options: { | |
| 68 | + resources: path.resolve(__dirname, '../src/assets/css/base.scss') | |
| 69 | + } | |
| 70 | + } | |
| 71 | + ), | |
| 65 | 72 | stylus: generateLoaders('stylus'), |
| 66 | 73 | styl: generateLoaders('stylus') |
| 67 | 74 | } | ... | ... |
package-lock.json
| ... | ... | @@ -149,8 +149,7 @@ |
| 149 | 149 | "array-find-index": { |
| 150 | 150 | "version": "1.0.2", |
| 151 | 151 | "resolved": "https://registry.npm.taobao.org/array-find-index/download/array-find-index-1.0.2.tgz", |
| 152 | - "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=", | |
| 153 | - "dev": true | |
| 152 | + "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=" | |
| 154 | 153 | }, |
| 155 | 154 | "array-flatten": { |
| 156 | 155 | "version": "1.1.1", |
| ... | ... | @@ -5453,6 +5452,15 @@ |
| 5453 | 5452 | "resolved": "https://registry.npm.taobao.org/minimist/download/minimist-1.2.5.tgz", |
| 5454 | 5453 | "integrity": "sha1-Z9ZgFLZqaoqqDAg8X9WN9OTpdgI=" |
| 5455 | 5454 | }, |
| 5455 | + "mint-ui": { | |
| 5456 | + "version": "2.2.13", | |
| 5457 | + "resolved": "https://registry.npm.taobao.org/mint-ui/download/mint-ui-2.2.13.tgz", | |
| 5458 | + "requires": { | |
| 5459 | + "array-find-index": "^1.0.2", | |
| 5460 | + "raf.js": "0.0.4", | |
| 5461 | + "vue-lazyload": "^1.0.1" | |
| 5462 | + } | |
| 5463 | + }, | |
| 5456 | 5464 | "mississippi": { |
| 5457 | 5465 | "version": "2.0.0", |
| 5458 | 5466 | "resolved": "https://registry.npm.taobao.org/mississippi/download/mississippi-2.0.0.tgz", |
| ... | ... | @@ -6914,6 +6922,11 @@ |
| 6914 | 6922 | "integrity": "sha1-M0WUG0FTy50ILY7uTNogFqmu9/Y=", |
| 6915 | 6923 | "dev": true |
| 6916 | 6924 | }, |
| 6925 | + "raf.js": { | |
| 6926 | + "version": "0.0.4", | |
| 6927 | + "resolved": "https://registry.npm.taobao.org/raf.js/download/raf.js-0.0.4.tgz", | |
| 6928 | + "integrity": "sha1-8Vr0RdJBsn+nExpXRQtn75xAL+w=" | |
| 6929 | + }, | |
| 6917 | 6930 | "randombytes": { |
| 6918 | 6931 | "version": "2.1.0", |
| 6919 | 6932 | "resolved": "https://registry.npm.taobao.org/randombytes/download/randombytes-2.1.0.tgz", |
| ... | ... | @@ -8691,6 +8704,11 @@ |
| 8691 | 8704 | "integrity": "sha1-UylVzB6yCKPZkLOp+acFdGV+CPI=", |
| 8692 | 8705 | "dev": true |
| 8693 | 8706 | }, |
| 8707 | + "vue-lazyload": { | |
| 8708 | + "version": "1.3.3", | |
| 8709 | + "resolved": "https://registry.npm.taobao.org/vue-lazyload/download/vue-lazyload-1.3.3.tgz?cache=0&sync_timestamp=1613791698648&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fvue-lazyload%2Fdownload%2Fvue-lazyload-1.3.3.tgz", | |
| 8710 | + "integrity": "sha1-TfUKJxvem3TDyveiKNbgr1DVaC8=" | |
| 8711 | + }, | |
| 8694 | 8712 | "vue-loader": { |
| 8695 | 8713 | "version": "13.7.3", |
| 8696 | 8714 | "resolved": "https://registry.npm.taobao.org/vue-loader/download/vue-loader-13.7.3.tgz?cache=0&sync_timestamp=1608188050165&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fvue-loader%2Fdownload%2Fvue-loader-13.7.3.tgz", | ... | ... |
package.json
| ... | ... | @@ -14,6 +14,8 @@ |
| 14 | 14 | "css-loader": "^3.6.0", |
| 15 | 15 | "js-base64": "^3.6.0", |
| 16 | 16 | "less-loader": "^4.1.0", |
| 17 | + "mint-ui": "^2.2.13", | |
| 18 | + "node-sass": "^5.0.0", | |
| 17 | 19 | "sass-loader": "^7.3.1", |
| 18 | 20 | "vue": "^2.5.2", |
| 19 | 21 | "vue-h5-popup": "^1.0.2", |
| ... | ... | @@ -32,12 +34,13 @@ |
| 32 | 34 | "chalk": "^2.0.1", |
| 33 | 35 | "copy-webpack-plugin": "^4.0.1", |
| 34 | 36 | "crypto-js": "^4.0.0", |
| 35 | - "css-loader": "^0.28.0", | |
| 37 | + "css-loader": "^3.6.0", | |
| 36 | 38 | "extract-text-webpack-plugin": "^3.0.0", |
| 37 | 39 | "file-loader": "^1.1.4", |
| 38 | 40 | "friendly-errors-webpack-plugin": "^1.6.1", |
| 39 | 41 | "html-webpack-plugin": "^2.30.1", |
| 40 | 42 | "node-notifier": "^5.1.2", |
| 43 | + "node-sass": "^5.0.0", | |
| 41 | 44 | "optimize-css-assets-webpack-plugin": "^3.2.0", |
| 42 | 45 | "ora": "^1.2.0", |
| 43 | 46 | "portfinder": "^1.0.13", |
| ... | ... | @@ -46,8 +49,13 @@ |
| 46 | 49 | "postcss-url": "^7.2.1", |
| 47 | 50 | "prettier": "^2.2.1", |
| 48 | 51 | "rimraf": "^2.6.0", |
| 52 | + "sass-loader": "^7.3.1", | |
| 53 | + "sass-resources-loader": "^2.1.1", | |
| 49 | 54 | "semver": "^5.3.0", |
| 50 | 55 | "shelljs": "^0.7.6", |
| 56 | + "style-loader": "^2.0.0", | |
| 57 | + "stylus": "^0.54.8", | |
| 58 | + "stylus-loader": "^5.0.0", | |
| 51 | 59 | "swiper": "^3.4.2", |
| 52 | 60 | "uglifyjs-webpack-plugin": "^1.1.1", |
| 53 | 61 | "url-loader": "^0.5.8", | ... | ... |
src/assets/css/base.scss
0 → 100644
| 1 | +$commonLeftRightPadding:0 10px; | ... | ... |
src/assets/css/reset.css
src/assets/images/mySelf/photoBG.png
0 → 100644
9.03 KB
src/assets/images/mySelf/selfNavBg.png
0 → 100644
29.5 KB
src/assets/images/parkPay/addCarNum.png
0 → 100644
459 Bytes
src/assets/images/blackBG.png renamed to src/assets/images/parkPay/blackBG.png
5.57 KB
src/assets/images/blueBG.png renamed to src/assets/images/parkPay/blueBG.png
5.6 KB
src/assets/images/carBlack.png renamed to src/assets/images/parkPay/carBlack.png
1.69 KB
src/assets/images/carBlue.png renamed to src/assets/images/parkPay/carBlue.png
1.88 KB
src/assets/images/carGreen.png renamed to src/assets/images/parkPay/carGreen.png
3.33 KB
src/assets/images/carWhite.png renamed to src/assets/images/parkPay/carWhite.png
1.45 KB
src/assets/images/carYellow.png renamed to src/assets/images/parkPay/carYellow.png
1.86 KB
src/assets/images/choose.png renamed to src/assets/images/parkPay/choose.png
967 Bytes
src/assets/images/choosed.png renamed to src/assets/images/parkPay/choosed.png
1.15 KB
src/assets/images/greenBG.png renamed to src/assets/images/parkPay/greenBG.png
5.92 KB
src/assets/images/icon-delete.png renamed to src/assets/images/parkPay/icon-delete.png
845 Bytes
src/assets/images/icon_chose_n@2x.png renamed to src/assets/images/parkPay/icon_chose_n@2x.png
982 Bytes
src/assets/images/icon_chose_s@2x.png renamed to src/assets/images/parkPay/icon_chose_s@2x.png
935 Bytes
src/assets/images/noRecord.png renamed to src/assets/images/parkPay/noRecord.png
13.1 KB
src/assets/images/tip.png renamed to src/assets/images/parkPay/tip.png
1.16 KB
src/assets/images/toParkRecord.png renamed to src/assets/images/parkPay/toParkRecord.png
1.97 KB
src/assets/images/whiteBG.png renamed to src/assets/images/parkPay/whiteBG.png
5.68 KB
src/assets/images/yellowBG.png renamed to src/assets/images/parkPay/yellowBG.png
5.76 KB
src/main.js
| ... | ... | @@ -6,9 +6,19 @@ import router from './router' |
| 6 | 6 | |
| 7 | 7 | import './assets/css/reset.css' // 引入公共样式 |
| 8 | 8 | |
| 9 | -import h5Popup from 'vue-h5-popup'; // 引入弹窗 | |
| 9 | +import h5Popup from 'vue-h5-popup' // 引入弹窗 | |
| 10 | 10 | Vue.use(h5Popup) |
| 11 | 11 | |
| 12 | + | |
| 13 | +import MintUI from 'mint-ui' | |
| 14 | +import 'mint-ui/lib/style.css' | |
| 15 | +Vue.use(MintUI) // 引入MintUI | |
| 16 | + | |
| 17 | + | |
| 18 | +//全局设置的基本样式 | |
| 19 | +import './assets/css/base.scss' | |
| 20 | + | |
| 21 | + | |
| 12 | 22 | import utils from './utils/utils' // 工具类 |
| 13 | 23 | Vue.prototype.$utils = utils |
| 14 | 24 | ... | ... |
src/router/index.js
| 1 | 1 | import Vue from 'vue' |
| 2 | 2 | import Router from 'vue-router' |
| 3 | -// import plateNumber from '@/components/plateNumber' | |
| 4 | -import parkRecord from '@/components/parkRecord' | |
| 5 | -import navigation from '@/components/navigation' | |
| 3 | +import plateNumber from '@/views/parkPay/plateNumber' | |
| 4 | +import parkRecord from '@/views/parkPay/parkRecord' | |
| 5 | +import selfNav from '@/views/mySelf/selfNav' | |
| 6 | 6 | |
| 7 | 7 | Vue.use(Router) |
| 8 | 8 | |
| ... | ... | @@ -11,14 +11,14 @@ export default new Router({ |
| 11 | 11 | { |
| 12 | 12 | path: '/', |
| 13 | 13 | redirect: { |
| 14 | - name: 'parkRecord' | |
| 14 | + name: 'selfNav' | |
| 15 | 15 | } |
| 16 | 16 | }, |
| 17 | - { | |
| 18 | - path: '/navigation', | |
| 19 | - name: 'navigation', | |
| 20 | - component: navigation | |
| 21 | - }, | |
| 17 | + // { | |
| 18 | + // path: '/navigation', | |
| 19 | + // name: 'navigation', | |
| 20 | + // component: navigation | |
| 21 | + // }, | |
| 22 | 22 | |
| 23 | 23 | { |
| 24 | 24 | path: '/parkRecord', |
| ... | ... | @@ -28,15 +28,53 @@ export default new Router({ |
| 28 | 28 | { |
| 29 | 29 | path: '/plateNumber', |
| 30 | 30 | name: 'plateNumber', |
| 31 | - component: () => import("@/components/plateNumber.vue") | |
| 31 | + component: plateNumber | |
| 32 | 32 | }, |
| 33 | 33 | |
| 34 | 34 | { |
| 35 | 35 | path: '/orderPay', |
| 36 | 36 | name: 'orderPay', |
| 37 | - component: () => import("@/components/orderPay.vue") | |
| 37 | + component: () => import("@/views/parkPay/orderPay.vue") | |
| 38 | + }, | |
| 39 | + | |
| 40 | + //---------------- 个人页面导航 | |
| 41 | + { | |
| 42 | + path: '/selfNav', | |
| 43 | + name: 'selfNav', | |
| 44 | + component: () => import("@/views/mySelf/selfNav.vue") | |
| 45 | + }, | |
| 46 | + | |
| 47 | + // ------------------------建议反馈 | |
| 48 | + { | |
| 49 | + path: '/suggestionBack', | |
| 50 | + name: 'suggestionBack', | |
| 51 | + component: () => import("@/views/mySelf/feedback/suggestionBack.vue") | |
| 52 | + }, | |
| 53 | + | |
| 54 | + // ------------------------停车记录 | |
| 55 | + { | |
| 56 | + path: '/parkNotes', | |
| 57 | + name: 'parkNotes', | |
| 58 | + component: () => import("@/views/mySelf/parkNotes/parkNotes.vue") | |
| 59 | + }, | |
| 60 | + | |
| 61 | + | |
| 62 | + // ------------------------停车记录 | |
| 63 | + { | |
| 64 | + path: '/binDing', | |
| 65 | + name: 'binDing', | |
| 66 | + component: () => import("@/views/binding/binDing.vue") | |
| 38 | 67 | }, |
| 39 | 68 | |
| 40 | 69 | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 41 | 79 | ] |
| 42 | 80 | }) | ... | ... |
src/views/binding/binDing.vue
0 → 100644
| 1 | +<template> | |
| 2 | + <div> | |
| 3 | + | |
| 4 | + <mt-field label="手机号" placeholder="请输入正确的手机号" type="tel" v-model="phone" :attr="{ maxlength: 13 }"></mt-field> | |
| 5 | + | |
| 6 | + <mt-field label="验证码" v-model="codeText"> | |
| 7 | + <div class="getCode" @click="getCode">{{timeNum}}</div> | |
| 8 | + </mt-field> | |
| 9 | + | |
| 10 | + <div style="margin-top: 34px" class="leftRightPadding"> | |
| 11 | + <mt-button type="danger" size="large">绑定</mt-button> | |
| 12 | + </div> | |
| 13 | + </div> | |
| 14 | +</template> | |
| 15 | + | |
| 16 | +<script> | |
| 17 | +export default { | |
| 18 | + name: 'binDing', | |
| 19 | + data() { | |
| 20 | + return { | |
| 21 | + codeText: '', | |
| 22 | + phone: '', | |
| 23 | + timeText: '获取验证码', | |
| 24 | + timeNum: 60, | |
| 25 | + } | |
| 26 | + }, | |
| 27 | + created(){ | |
| 28 | + this.timeNum = this.timeText | |
| 29 | + }, | |
| 30 | + methods: { | |
| 31 | + getCode: function () { | |
| 32 | + var _this = this | |
| 33 | + // this.timeText = this.timeNum+'S' | |
| 34 | + let Num = 5 | |
| 35 | + var timer = setInterval(function () { | |
| 36 | + _this.timeNum = Num-- +'s' | |
| 37 | + if(Num== -1){ | |
| 38 | + _this.timeNum = '获取验证码' | |
| 39 | + clearInterval(timer) | |
| 40 | + } | |
| 41 | + }, 1000) | |
| 42 | + } | |
| 43 | + } | |
| 44 | +} | |
| 45 | +</script> | |
| 46 | + | |
| 47 | +<style scoped lang="scss"> | |
| 48 | + .getCode { | |
| 49 | + width: 100px; | |
| 50 | + height: 48px; | |
| 51 | + line-height: 48px; | |
| 52 | + background: #ef4f4f; | |
| 53 | + color: #fff; | |
| 54 | + text-align: center; | |
| 55 | + } | |
| 56 | +</style> | ... | ... |
src/views/mySelf/feedback/suggestionBack.vue
0 → 100644
| 1 | +<template> | |
| 2 | + <div class="leftRightPadding"> | |
| 3 | + <p class="suggestion-tip">请选择您反馈的问题类型</p> | |
| 4 | + <ul class="suggestionList"> | |
| 5 | + <li | |
| 6 | + @click="chooseHandle(index)" | |
| 7 | + v-for="(i, index) in suggestionList" | |
| 8 | + :key="i.id" | |
| 9 | + :class="{choosedActive: currentIndex==index}" | |
| 10 | + > | |
| 11 | + {{i.text}} | |
| 12 | + </li> | |
| 13 | + </ul> | |
| 14 | + | |
| 15 | + <div class="clear"></div> | |
| 16 | + | |
| 17 | + <mt-field label="" placeholder="请详细描述反馈问题,或提出改进建议。(300字以内)" type="textarea" rows="4" v-model="introduction" :attr="{ maxlength: 2 }"></mt-field> | |
| 18 | + | |
| 19 | + <div style="margin-top: 34px"> | |
| 20 | + <mt-button type="danger" size="large">提交</mt-button> | |
| 21 | + </div> | |
| 22 | + </div> | |
| 23 | +</template> | |
| 24 | + | |
| 25 | +<script> | |
| 26 | +export default { | |
| 27 | + name: 'suggestionBack', | |
| 28 | + data() { | |
| 29 | + 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 | + ], | |
| 38 | + currentIndex: 0, | |
| 39 | + introduction: '', | |
| 40 | + } | |
| 41 | + }, | |
| 42 | + methods: { | |
| 43 | + chooseHandle: function (i) { | |
| 44 | + console.log(i) | |
| 45 | + this.currentIndex = i | |
| 46 | + } | |
| 47 | + } | |
| 48 | +} | |
| 49 | +</script> | |
| 50 | + | |
| 51 | +<style scoped lang="scss"> | |
| 52 | + .suggestion-tip { | |
| 53 | + margin: 17px 0 13px; | |
| 54 | + color: #6666; | |
| 55 | + } | |
| 56 | + | |
| 57 | + .suggestionList { | |
| 58 | + | |
| 59 | + li { | |
| 60 | + float: left; | |
| 61 | + width: calc((100% - 19px) / 2); | |
| 62 | + height: 33px; | |
| 63 | + line-height: 33px; | |
| 64 | + margin-bottom: 16px; | |
| 65 | + border: 1px solid #B18181; | |
| 66 | + text-align: center; | |
| 67 | + font-size: 13px; | |
| 68 | + &:nth-child(odd) { | |
| 69 | + margin-right: 19px; | |
| 70 | + } | |
| 71 | + } | |
| 72 | + .choosedActive { | |
| 73 | + background: #F75959; | |
| 74 | + border: 1px solid #A51E1E; | |
| 75 | + color: #fff; | |
| 76 | + } | |
| 77 | + | |
| 78 | + } | |
| 79 | +</style> | ... | ... |
src/views/mySelf/parkNotes/parkNotes.vue
0 → 100644
| 1 | +<template> | |
| 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> | |
| 17 | + </div> | |
| 18 | +</template> | |
| 19 | + | |
| 20 | +<script> | |
| 21 | +export default { | |
| 22 | + name: 'parkRecord' | |
| 23 | +} | |
| 24 | +</script> | |
| 25 | + | |
| 26 | +<style scoped lang="scss"> | |
| 27 | +.notesList{ | |
| 28 | + background: #fff; | |
| 29 | + padding: 10px; | |
| 30 | + margin-bottom: 10px; | |
| 31 | +} | |
| 32 | +</style> | ... | ... |
src/views/mySelf/selfNav.vue
0 → 100644
| 1 | +<template> | |
| 2 | + <div> | |
| 3 | + <div class="person-bg"> | |
| 4 | + <div class="person-ifo"> | |
| 5 | + <div class="person-pic"></div> | |
| 6 | + <ul class="person-con"> | |
| 7 | + <li>15911111111</li> | |
| 8 | + <li>账户余额: <span>¥100.00</span></li> | |
| 9 | + <li>我的卡券:<span>20张</span></li> | |
| 10 | + </ul> | |
| 11 | + </div> | |
| 12 | + </div> | |
| 13 | + | |
| 14 | + <mt-cell title="会员卡" is-link :to="{ name: 'Toast' }"></mt-cell> | |
| 15 | + | |
| 16 | + <mt-cell title="车辆管理" is-link :to="{ name: 'Toast' }"></mt-cell> | |
| 17 | + | |
| 18 | + <mt-cell title="停车记录" is-link :to="{ name: 'parkNotes' }"></mt-cell> | |
| 19 | + | |
| 20 | + <mt-cell title="建议反馈" is-link :to="{ name: 'suggestionBack' }"></mt-cell> | |
| 21 | + | |
| 22 | + <div class="leftRightPadding" style="margin-top: 34px"> | |
| 23 | + <mt-button type="danger" size="large">退出账户</mt-button> | |
| 24 | + </div> | |
| 25 | + | |
| 26 | + </div> | |
| 27 | +</template> | |
| 28 | + | |
| 29 | +<script> | |
| 30 | +export default { | |
| 31 | + name: 'selfNav' | |
| 32 | +} | |
| 33 | +</script> | |
| 34 | + | |
| 35 | +<style scoped lang="scss"> | |
| 36 | + .person-bg { | |
| 37 | + height: 160px; | |
| 38 | + background: url("../../assets/images/mySelf/selfNavBg.png") no-repeat; | |
| 39 | + background-size: 100% 100%; | |
| 40 | + } | |
| 41 | + | |
| 42 | + .person-ifo { | |
| 43 | + padding: $commonLeftRightPadding; | |
| 44 | + padding-top: 45px; | |
| 45 | + display: flex; | |
| 46 | + color: #ffbfbf; | |
| 47 | + .person-pic{ | |
| 48 | + width: 64px; | |
| 49 | + height: 64px; | |
| 50 | + margin-right: 15px; | |
| 51 | + background: url("../../assets/images/mySelf/photoBG.png") no-repeat; | |
| 52 | + } | |
| 53 | + } | |
| 54 | + .person-con{ | |
| 55 | + span{ | |
| 56 | + font-size: 16px; | |
| 57 | + font-weight: bold; | |
| 58 | + } | |
| 59 | + } | |
| 60 | + | |
| 61 | + .mint-cell{ | |
| 62 | + border-bottom: 1px solid #EFEDED; | |
| 63 | + } | |
| 64 | +</style> | ... | ... |
src/components/navigation.vue renamed to src/views/parkPay/navigation.vue
| ... | ... | @@ -39,7 +39,7 @@ |
| 39 | 39 | |
| 40 | 40 | <script> |
| 41 | 41 | import Swiper from 'swiper' // 应入swiper |
| 42 | -import { swiperQuery } from '../api/navigation/navigation' | |
| 42 | +import { swiperQuery } from '../../api/navigation/navigation' | |
| 43 | 43 | export default { |
| 44 | 44 | name: 'navigation', |
| 45 | 45 | data() { |
| ... | ... | @@ -111,7 +111,7 @@ export default { |
| 111 | 111 | width: 200px; |
| 112 | 112 | margin: 20px auto 10px; |
| 113 | 113 | padding-left: 20px; |
| 114 | - background: url("../assets/images/tip.png") no-repeat 0 center; | |
| 114 | + background: url("../../assets/images/parkPay/tip.png") no-repeat 0 center; | |
| 115 | 115 | background-size: 14px 14px; |
| 116 | 116 | text-align: center; |
| 117 | 117 | } |
| ... | ... | @@ -130,27 +130,27 @@ export default { |
| 130 | 130 | color: #fff; |
| 131 | 131 | } |
| 132 | 132 | .carBlue { |
| 133 | - background: url("../assets/images/blueBG.png") no-repeat; | |
| 133 | + background: url("../../assets/images/parkPay/blueBG.png") no-repeat; | |
| 134 | 134 | background-size: 100% 100%; |
| 135 | 135 | } |
| 136 | 136 | |
| 137 | 137 | .carYellow { |
| 138 | - background: url("../assets/images/yellowBG.png") no-repeat; | |
| 138 | + background: url("../../assets/images/parkPay/yellowBG.png") no-repeat; | |
| 139 | 139 | background-size: 100% 100%; |
| 140 | 140 | } |
| 141 | 141 | |
| 142 | 142 | .carGreen { |
| 143 | - background: url("../assets/images/greenBG.png") no-repeat; | |
| 143 | + background: url("../../assets/images/parkPay/greenBG.png") no-repeat; | |
| 144 | 144 | background-size: 100% 100%; |
| 145 | 145 | } |
| 146 | 146 | |
| 147 | 147 | .carWhite { |
| 148 | - background: url("../assets/images/whiteBG.png") no-repeat; | |
| 148 | + background: url("../../assets/images/parkPay/whiteBG.png") no-repeat; | |
| 149 | 149 | background-size: 100% 100%; |
| 150 | 150 | } |
| 151 | 151 | |
| 152 | 152 | .carBlack { |
| 153 | - background: url("../assets/images/blackBG.png") no-repeat; | |
| 153 | + background: url("../../assets/images/parkPay/blackBG.png") no-repeat; | |
| 154 | 154 | background-size: 100% 100%; |
| 155 | 155 | } |
| 156 | 156 | .toParkRecord{ |
| ... | ... | @@ -160,7 +160,7 @@ export default { |
| 160 | 160 | line-height: 50px; |
| 161 | 161 | font-size: 16px; |
| 162 | 162 | text-align: center; |
| 163 | - background: url("../assets/images/toParkRecord.png") no-repeat; | |
| 163 | + background: url("../../assets/images/parkPay/toParkRecord.png") no-repeat; | |
| 164 | 164 | background-size: 100% 50px; |
| 165 | 165 | cursor: pointer; |
| 166 | 166 | } | ... | ... |
src/components/orderPay.vue renamed to src/views/parkPay/orderPay.vue
| ... | ... | @@ -22,7 +22,7 @@ |
| 22 | 22 | </li> |
| 23 | 23 | </ul> |
| 24 | 24 | <div style="padding: 20px 18px"> |
| 25 | - <div class="toPay" @click="toPay">{{clientBrowser}}支付</div> | |
| 25 | + <div class="toPay" @click="toPay">微信支付</div> | |
| 26 | 26 | </div> |
| 27 | 27 | |
| 28 | 28 | <div v-if="appOrderTimeout"> |
| ... | ... | @@ -51,7 +51,6 @@ export default { |
| 51 | 51 | arrearageActFee: 0, |
| 52 | 52 | arrearageDiscFee: 0, |
| 53 | 53 | arrearageActFee: 0, |
| 54 | - clientBrowser: '', // 客户端 | |
| 55 | 54 | paySrcType: '', //支付的类型 101 是本次 103是历史欠费 |
| 56 | 55 | orderId: '', //支付的订单 |
| 57 | 56 | webAppCode: '', // 微信code |
| ... | ... | @@ -65,7 +64,6 @@ export default { |
| 65 | 64 | this.arrearageTotalFee = this.$route.query.arrearageTotalFee // 应收 |
| 66 | 65 | this.arrearageDiscFee = this.$route.query.arrearageDiscFee // 优惠 |
| 67 | 66 | this.arrearageActFee = this.$route.query.arrearageActFee // 实收 |
| 68 | - this.clientBrowser = this.$utils.clientBrowser() //支付方式 | |
| 69 | 67 | this.paySrcType = this.$route.query.paySrcType // 实收 |
| 70 | 68 | this.orderId = this.$route.query.ordeID // 订单号 |
| 71 | 69 | console.log(this.orderId) |
| ... | ... | @@ -73,10 +71,8 @@ export default { |
| 73 | 71 | |
| 74 | 72 | let userAgent = navigator.userAgent; |
| 75 | 73 | this.isAndroid = userAgent.indexOf('Android') > -1 || userAgent.indexOf('Adr') > -1; //android终端 |
| 74 | + this.webAppCode = this.getCode(); | |
| 76 | 75 | |
| 77 | - if (this.clientBrowser == "微信") { | |
| 78 | - this.webAppCode = this.getCode(); | |
| 79 | - } | |
| 80 | 76 | }, |
| 81 | 77 | methods: { |
| 82 | 78 | getCode() { |
| ... | ... | @@ -115,35 +111,9 @@ export default { |
| 115 | 111 | }, |
| 116 | 112 | dopay(orderID) { |
| 117 | 113 | let me = this |
| 118 | - if (this.clientBrowser == '支付宝') { // 支付宝支付 | |
| 119 | - var jsondata = { | |
| 120 | - orderBigType: 100, | |
| 121 | - payOrderType: this.paySrcType, | |
| 122 | - rltOrderId: orderID, | |
| 123 | - payType: 1, // 1 是支付宝 2是微信 | |
| 124 | - terminalSource: 7, | |
| 125 | - orderActFee: this.arrearageActFee, | |
| 126 | - orderTotalFee: this.arrearageTotalFee, | |
| 127 | - orderDicountFee: this.arrearageDiscFee, | |
| 128 | - payUserId: '', | |
| 129 | - terminalOS: this.isAndroid ? 'AND' : 'IOS', | |
| 130 | - couponType: 1, //优惠类型 | |
| 131 | - couponCode: this.arrearageDiscFee, | |
| 132 | - }; | |
| 133 | 114 | |
| 134 | - doPay(jsondata).then(response => { | |
| 135 | - console.log(response) | |
| 136 | - if (response.code == 0) {//进场 | |
| 137 | - window.location.href = response.data.h5PayRequest | |
| 138 | - // document.write(response.data);//打开支付表单 | |
| 139 | - } else {//其他情况如【该卡号场内已存在】 | |
| 140 | - console.log(response.message); | |
| 141 | - } | |
| 142 | 115 | |
| 143 | - }) | |
| 144 | - } | |
| 145 | 116 | |
| 146 | - if (this.clientBrowser == '微信') { // 微信支付 | |
| 147 | 117 | var vm = this |
| 148 | 118 | //第一步获取openid |
| 149 | 119 | var codeParams = { |
| ... | ... | @@ -208,7 +178,7 @@ export default { |
| 208 | 178 | } |
| 209 | 179 | }) |
| 210 | 180 | |
| 211 | - } | |
| 181 | + | |
| 212 | 182 | }, |
| 213 | 183 | toPay() { |
| 214 | 184 | let me = this |
| ... | ... | @@ -277,27 +247,27 @@ export default { |
| 277 | 247 | } |
| 278 | 248 | |
| 279 | 249 | .carBlue { |
| 280 | - background: url("../assets/images/blueBG.png") no-repeat; | |
| 250 | + background: url("../../assets/images/parkPay/blueBG.png") no-repeat; | |
| 281 | 251 | background-size: 100% 100%; |
| 282 | 252 | } |
| 283 | 253 | |
| 284 | 254 | .carYellow { |
| 285 | - background: url("../assets/images/yellowBG.png") no-repeat; | |
| 255 | + background: url("../../assets/images/parkPay/yellowBG.png") no-repeat; | |
| 286 | 256 | background-size: 100% 100%; |
| 287 | 257 | } |
| 288 | 258 | |
| 289 | 259 | .carGreen { |
| 290 | - background: url("../assets/images/greenBG.png") no-repeat; | |
| 260 | + background: url("../../assets/images/parkPay/greenBG.png") no-repeat; | |
| 291 | 261 | background-size: 100% 100%; |
| 292 | 262 | } |
| 293 | 263 | |
| 294 | 264 | .carWhite { |
| 295 | - background: url("../assets/images/whiteBG.png") no-repeat; | |
| 265 | + background: url("../../assets/images/parkPay/whiteBG.png") no-repeat; | |
| 296 | 266 | background-size: 100% 100%; |
| 297 | 267 | } |
| 298 | 268 | |
| 299 | 269 | .carBlack { |
| 300 | - background: url("../assets/images/blackBG.png") no-repeat; | |
| 270 | + background: url("../../assets/images/parkPay/blackBG.png") no-repeat; | |
| 301 | 271 | background-size: 100% 100%; |
| 302 | 272 | } |
| 303 | 273 | |
| ... | ... | @@ -346,7 +316,7 @@ export default { |
| 346 | 316 | |
| 347 | 317 | .tip { |
| 348 | 318 | padding-left: 40px; |
| 349 | - background: url("../assets/images/tip.png") no-repeat 18px center; | |
| 319 | + background: url("../../assets/images/parkPay/tip.png") no-repeat 18px center; | |
| 350 | 320 | background-size: 16px 16px; |
| 351 | 321 | color: #666; |
| 352 | 322 | } | ... | ... |
src/components/parkRecord.vue renamed to src/views/parkPay/parkRecord.vue
| ... | ... | @@ -358,7 +358,7 @@ export default { |
| 358 | 358 | height: 25px; |
| 359 | 359 | line-height: 25px; |
| 360 | 360 | padding-left: 45px; |
| 361 | - background: #FEF8DB url("../assets/images/tip.png") no-repeat 18px center; | |
| 361 | + background: #FEF8DB url("../../assets/images/parkPay/tip.png") no-repeat 18px center; | |
| 362 | 362 | background-size: 18px 18px; |
| 363 | 363 | } |
| 364 | 364 | |
| ... | ... | @@ -377,23 +377,23 @@ export default { |
| 377 | 377 | li:first-child { |
| 378 | 378 | width: 150px; |
| 379 | 379 | &.carBlue { |
| 380 | - background: url("../assets/images/carBlue.png") no-repeat 90px center; | |
| 380 | + background: url("../../assets/images/parkPay/carBlue.png") no-repeat 90px center; | |
| 381 | 381 | background-size: 28px 17px; |
| 382 | 382 | } |
| 383 | 383 | &.carYellow { |
| 384 | - background: url("../assets/images/carYellow.png") no-repeat 90px center; | |
| 384 | + background: url("../../assets/images/parkPay/carYellow.png") no-repeat 90px center; | |
| 385 | 385 | background-size: 28px 17px; |
| 386 | 386 | } |
| 387 | 387 | &.carGreen { |
| 388 | - background: url("../assets/images/carGreen.png") no-repeat 90px center; | |
| 388 | + background: url("../../assets/images/parkPay/carGreen.png") no-repeat 90px center; | |
| 389 | 389 | background-size: 28px 17px; |
| 390 | 390 | } |
| 391 | 391 | &.carWhite { |
| 392 | - background: url("../assets/images/carWhite.png") no-repeat 90px center; | |
| 392 | + background: url("../../assets/images/parkPay/carWhite.png") no-repeat 90px center; | |
| 393 | 393 | background-size: 28px 17px; |
| 394 | 394 | } |
| 395 | 395 | &.carBlack { |
| 396 | - background: url("../assets/images/carBlack.png") no-repeat 90px center; | |
| 396 | + background: url("../../assets/images/parkPay/carBlack.png") no-repeat 90px center; | |
| 397 | 397 | background-size: 28px 17px; |
| 398 | 398 | } |
| 399 | 399 | } |
| ... | ... | @@ -448,14 +448,14 @@ export default { |
| 448 | 448 | |
| 449 | 449 | .cost-main-history{ |
| 450 | 450 | margin-bottom: 10px; |
| 451 | - background:#fff url("../assets/images/choose.png") no-repeat 10px center; | |
| 451 | + background:#fff url("../../assets/images/parkPay/choose.png") no-repeat 10px center; | |
| 452 | 452 | background-size: 20px 20px; |
| 453 | 453 | cursor: pointer; |
| 454 | 454 | } |
| 455 | 455 | |
| 456 | 456 | |
| 457 | 457 | .isChecked{ |
| 458 | - background:#fff url("../assets/images/choosed.png") no-repeat 10px center; | |
| 458 | + background:#fff url("../../assets/images/parkPay/choosed.png") no-repeat 10px center; | |
| 459 | 459 | background-size: 20px 20px; |
| 460 | 460 | } |
| 461 | 461 | |
| ... | ... | @@ -488,12 +488,12 @@ export default { |
| 488 | 488 | justify-content: space-between; |
| 489 | 489 | .check-btn{ |
| 490 | 490 | padding-left: 30px; |
| 491 | - background: url("../assets/images/choose.png") no-repeat 0 center; | |
| 491 | + background: url("../../assets/images/parkPay/choose.png") no-repeat 0 center; | |
| 492 | 492 | background-size: 20px 20px; |
| 493 | 493 | cursor: pointer; |
| 494 | 494 | } |
| 495 | 495 | .isAllChecked{ |
| 496 | - background: url("../assets/images/choosed.png") no-repeat 0 center; | |
| 496 | + background: url("../../assets/images/parkPay/choosed.png") no-repeat 0 center; | |
| 497 | 497 | background-size: 20px 20px; |
| 498 | 498 | } |
| 499 | 499 | .settle-btn{ |
| ... | ... | @@ -508,7 +508,7 @@ export default { |
| 508 | 508 | |
| 509 | 509 | .noRecord { |
| 510 | 510 | padding-top: 200px; |
| 511 | - background: url("../assets/images/noRecord.png") no-repeat center 60px; | |
| 511 | + background: url("../../assets/images/parkPay/noRecord.png") no-repeat center 60px; | |
| 512 | 512 | background-size: 161px 124px; |
| 513 | 513 | text-align: center; |
| 514 | 514 | } | ... | ... |
src/components/plateNumber.vue renamed to src/views/parkPay/plateNumber.vue
| ... | ... | @@ -31,10 +31,10 @@ |
| 31 | 31 | <div class="radio-box"> |
| 32 | 32 | <label class="flex-items-center"> |
| 33 | 33 | <img v-if="formData.commonCard == 1" |
| 34 | - src="../assets/images/icon_chose_s@2x.png" | |
| 34 | + src="../../assets/images/parkPay/icon_chose_s@2x.png" | |
| 35 | 35 | alt=""> |
| 36 | 36 | <img v-else |
| 37 | - src="../assets/images/icon_chose_n@2x.png" | |
| 37 | + src="../../assets/images/parkPay/icon_chose_n@2x.png" | |
| 38 | 38 | alt=""> |
| 39 | 39 | <input type="radio" |
| 40 | 40 | v-model="formData.commonCard" |
| ... | ... | @@ -42,10 +42,10 @@ |
| 42 | 42 | </label> |
| 43 | 43 | <label class="flex-items-center"> |
| 44 | 44 | <img v-if="formData.commonCard == 2" |
| 45 | - src="../assets/images/icon_chose_s@2x.png" | |
| 45 | + src="../../assets/images/parkPay/icon_chose_s@2x.png" | |
| 46 | 46 | alt=""> |
| 47 | 47 | <img v-else |
| 48 | - src="../assets/images/icon_chose_n@2x.png" | |
| 48 | + src="../../assets/images/parkPay/icon_chose_n@2x.png" | |
| 49 | 49 | alt=""> |
| 50 | 50 | <input type="radio" |
| 51 | 51 | v-model="formData.commonCard" |
| ... | ... | @@ -57,6 +57,26 @@ |
| 57 | 57 | <div class="submit-box" @click="submitFn()"> |
| 58 | 58 | 查询 |
| 59 | 59 | </div> |
| 60 | + | |
| 61 | + <div> | |
| 62 | + <p style="margin-bottom: 18px;margin-top: 18px;">已绑定车牌</p> | |
| 63 | + <ul class="bound-list"> | |
| 64 | + <li> | |
| 65 | + <span>鄂B4567R</span> | |
| 66 | + <span>查看订单</span> | |
| 67 | + </li> | |
| 68 | + <li> | |
| 69 | + <span>鄂B4567R</span> | |
| 70 | + <span>查看订单</span> | |
| 71 | + </li> | |
| 72 | + </ul> | |
| 73 | + <div style="text-align: center;padding: 10px 0;">暂无绑定车牌</div> | |
| 74 | + <div class="addCarNum"><span></span>添加车辆</div> | |
| 75 | + </div> | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 60 | 80 | </div> |
| 61 | 81 | <div class="first-word-wrap" |
| 62 | 82 | v-if="firstWrapStatus"> |
| ... | ... | @@ -218,7 +238,7 @@ |
| 218 | 238 | :key="index" |
| 219 | 239 | @click="clickKeyBoard(item)">{{item}}</span> |
| 220 | 240 | <span class="bordernone"></span> |
| 221 | - <span class="delete" @click="deleteWord"><img src="../assets/images/icon-delete.png" alt=""></span> | |
| 241 | + <span class="delete" @click="deleteWord"><img src="../../assets/images/parkPay/icon-delete.png" alt=""></span> | |
| 222 | 242 | </div> |
| 223 | 243 | <div class="cancel"> |
| 224 | 244 | <span @click="keyBoardStatus = false">完成</span> |
| ... | ... | @@ -724,4 +744,33 @@ export default { |
| 724 | 744 | } |
| 725 | 745 | } |
| 726 | 746 | } |
| 747 | + .bound-list{ | |
| 748 | + li{ | |
| 749 | + padding: 0 10px; | |
| 750 | + height: 34px; | |
| 751 | + margin-bottom: 12px; | |
| 752 | + line-height: 34px; | |
| 753 | + background: #F2F1F1; | |
| 754 | + border-radius: 2px; | |
| 755 | + display: flex; | |
| 756 | + justify-content: space-between; | |
| 757 | + } | |
| 758 | + } | |
| 759 | + .addCarNum{ | |
| 760 | + height: 34px; | |
| 761 | + line-height: 34px; | |
| 762 | + background: #FFFFFF; | |
| 763 | + border-radius: 2px; | |
| 764 | + border: 1px solid #F2F1F1; | |
| 765 | + text-align: center; | |
| 766 | + span{ | |
| 767 | + width: 16px; | |
| 768 | + height: 16px; | |
| 769 | + display: inline-block; | |
| 770 | + background: url("../../assets/images/parkPay/addCarNum.png") no-repeat; | |
| 771 | + margin-right: 10px; | |
| 772 | + vertical-align: sub; | |
| 773 | + cursor: pointer; | |
| 774 | + } | |
| 775 | + } | |
| 727 | 776 | </style> | ... | ... |