Commit 94c1e6a30c91486f4878880000717bb2ae8241ae

Authored by liuqimichale
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,7 +61,14 @@ exports.cssLoaders = function (options) {
61 postcss: generateLoaders(), 61 postcss: generateLoaders(),
62 less: generateLoaders('less'), 62 less: generateLoaders('less'),
63 sass: generateLoaders('sass', { indentedSyntax: true }), 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 stylus: generateLoaders('stylus'), 72 stylus: generateLoaders('stylus'),
66 styl: generateLoaders('stylus') 73 styl: generateLoaders('stylus')
67 } 74 }
package-lock.json
@@ -149,8 +149,7 @@ @@ -149,8 +149,7 @@
149 "array-find-index": { 149 "array-find-index": {
150 "version": "1.0.2", 150 "version": "1.0.2",
151 "resolved": "https://registry.npm.taobao.org/array-find-index/download/array-find-index-1.0.2.tgz", 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 "array-flatten": { 154 "array-flatten": {
156 "version": "1.1.1", 155 "version": "1.1.1",
@@ -5453,6 +5452,15 @@ @@ -5453,6 +5452,15 @@
5453 "resolved": "https://registry.npm.taobao.org/minimist/download/minimist-1.2.5.tgz", 5452 "resolved": "https://registry.npm.taobao.org/minimist/download/minimist-1.2.5.tgz",
5454 "integrity": "sha1-Z9ZgFLZqaoqqDAg8X9WN9OTpdgI=" 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 "mississippi": { 5464 "mississippi": {
5457 "version": "2.0.0", 5465 "version": "2.0.0",
5458 "resolved": "https://registry.npm.taobao.org/mississippi/download/mississippi-2.0.0.tgz", 5466 "resolved": "https://registry.npm.taobao.org/mississippi/download/mississippi-2.0.0.tgz",
@@ -6914,6 +6922,11 @@ @@ -6914,6 +6922,11 @@
6914 "integrity": "sha1-M0WUG0FTy50ILY7uTNogFqmu9/Y=", 6922 "integrity": "sha1-M0WUG0FTy50ILY7uTNogFqmu9/Y=",
6915 "dev": true 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 "randombytes": { 6930 "randombytes": {
6918 "version": "2.1.0", 6931 "version": "2.1.0",
6919 "resolved": "https://registry.npm.taobao.org/randombytes/download/randombytes-2.1.0.tgz", 6932 "resolved": "https://registry.npm.taobao.org/randombytes/download/randombytes-2.1.0.tgz",
@@ -8691,6 +8704,11 @@ @@ -8691,6 +8704,11 @@
8691 "integrity": "sha1-UylVzB6yCKPZkLOp+acFdGV+CPI=", 8704 "integrity": "sha1-UylVzB6yCKPZkLOp+acFdGV+CPI=",
8692 "dev": true 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 "vue-loader": { 8712 "vue-loader": {
8695 "version": "13.7.3", 8713 "version": "13.7.3",
8696 "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", 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,6 +14,8 @@
14 "css-loader": "^3.6.0", 14 "css-loader": "^3.6.0",
15 "js-base64": "^3.6.0", 15 "js-base64": "^3.6.0",
16 "less-loader": "^4.1.0", 16 "less-loader": "^4.1.0",
  17 + "mint-ui": "^2.2.13",
  18 + "node-sass": "^5.0.0",
17 "sass-loader": "^7.3.1", 19 "sass-loader": "^7.3.1",
18 "vue": "^2.5.2", 20 "vue": "^2.5.2",
19 "vue-h5-popup": "^1.0.2", 21 "vue-h5-popup": "^1.0.2",
@@ -32,12 +34,13 @@ @@ -32,12 +34,13 @@
32 "chalk": "^2.0.1", 34 "chalk": "^2.0.1",
33 "copy-webpack-plugin": "^4.0.1", 35 "copy-webpack-plugin": "^4.0.1",
34 "crypto-js": "^4.0.0", 36 "crypto-js": "^4.0.0",
35 - "css-loader": "^0.28.0", 37 + "css-loader": "^3.6.0",
36 "extract-text-webpack-plugin": "^3.0.0", 38 "extract-text-webpack-plugin": "^3.0.0",
37 "file-loader": "^1.1.4", 39 "file-loader": "^1.1.4",
38 "friendly-errors-webpack-plugin": "^1.6.1", 40 "friendly-errors-webpack-plugin": "^1.6.1",
39 "html-webpack-plugin": "^2.30.1", 41 "html-webpack-plugin": "^2.30.1",
40 "node-notifier": "^5.1.2", 42 "node-notifier": "^5.1.2",
  43 + "node-sass": "^5.0.0",
41 "optimize-css-assets-webpack-plugin": "^3.2.0", 44 "optimize-css-assets-webpack-plugin": "^3.2.0",
42 "ora": "^1.2.0", 45 "ora": "^1.2.0",
43 "portfinder": "^1.0.13", 46 "portfinder": "^1.0.13",
@@ -46,8 +49,13 @@ @@ -46,8 +49,13 @@
46 "postcss-url": "^7.2.1", 49 "postcss-url": "^7.2.1",
47 "prettier": "^2.2.1", 50 "prettier": "^2.2.1",
48 "rimraf": "^2.6.0", 51 "rimraf": "^2.6.0",
  52 + "sass-loader": "^7.3.1",
  53 + "sass-resources-loader": "^2.1.1",
49 "semver": "^5.3.0", 54 "semver": "^5.3.0",
50 "shelljs": "^0.7.6", 55 "shelljs": "^0.7.6",
  56 + "style-loader": "^2.0.0",
  57 + "stylus": "^0.54.8",
  58 + "stylus-loader": "^5.0.0",
51 "swiper": "^3.4.2", 59 "swiper": "^3.4.2",
52 "uglifyjs-webpack-plugin": "^1.1.1", 60 "uglifyjs-webpack-plugin": "^1.1.1",
53 "url-loader": "^0.5.8", 61 "url-loader": "^0.5.8",
src/assets/css/base.scss 0 → 100644
  1 +$commonLeftRightPadding:0 10px;
src/assets/css/reset.css
@@ -57,3 +57,7 @@ body,html,#app @@ -57,3 +57,7 @@ body,html,#app
57 height: 100%; 57 height: 100%;
58 background: #FCFCFC; 58 background: #FCFCFC;
59 } 59 }
  60 +
  61 +.leftRightPadding{
  62 + padding: 0 10px;
  63 +}
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,9 +6,19 @@ import router from './router'
6 6
7 import './assets/css/reset.css' // 引入公共样式 7 import './assets/css/reset.css' // 引入公共样式
8 8
9 -import h5Popup from 'vue-h5-popup'; // 引入弹窗 9 +import h5Popup from 'vue-h5-popup' // 引入弹窗
10 Vue.use(h5Popup) 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 import utils from './utils/utils' // 工具类 22 import utils from './utils/utils' // 工具类
13 Vue.prototype.$utils = utils 23 Vue.prototype.$utils = utils
14 24
src/router/index.js
1 import Vue from 'vue' 1 import Vue from 'vue'
2 import Router from 'vue-router' 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 Vue.use(Router) 7 Vue.use(Router)
8 8
@@ -11,14 +11,14 @@ export default new Router({ @@ -11,14 +11,14 @@ export default new Router({
11 { 11 {
12 path: '/', 12 path: '/',
13 redirect: { 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 path: '/parkRecord', 24 path: '/parkRecord',
@@ -28,15 +28,53 @@ export default new Router({ @@ -28,15 +28,53 @@ export default new Router({
28 { 28 {
29 path: '/plateNumber', 29 path: '/plateNumber',
30 name: 'plateNumber', 30 name: 'plateNumber',
31 - component: () => import("@/components/plateNumber.vue") 31 + component: plateNumber
32 }, 32 },
33 33
34 { 34 {
35 path: '/orderPay', 35 path: '/orderPay',
36 name: 'orderPay', 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,7 +39,7 @@
39 39
40 <script> 40 <script>
41 import Swiper from 'swiper' // 应入swiper 41 import Swiper from 'swiper' // 应入swiper
42 -import { swiperQuery } from '../api/navigation/navigation' 42 +import { swiperQuery } from '../../api/navigation/navigation'
43 export default { 43 export default {
44 name: 'navigation', 44 name: 'navigation',
45 data() { 45 data() {
@@ -111,7 +111,7 @@ export default { @@ -111,7 +111,7 @@ export default {
111 width: 200px; 111 width: 200px;
112 margin: 20px auto 10px; 112 margin: 20px auto 10px;
113 padding-left: 20px; 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 background-size: 14px 14px; 115 background-size: 14px 14px;
116 text-align: center; 116 text-align: center;
117 } 117 }
@@ -130,27 +130,27 @@ export default { @@ -130,27 +130,27 @@ export default {
130 color: #fff; 130 color: #fff;
131 } 131 }
132 .carBlue { 132 .carBlue {
133 - background: url("../assets/images/blueBG.png") no-repeat; 133 + background: url("../../assets/images/parkPay/blueBG.png") no-repeat;
134 background-size: 100% 100%; 134 background-size: 100% 100%;
135 } 135 }
136 136
137 .carYellow { 137 .carYellow {
138 - background: url("../assets/images/yellowBG.png") no-repeat; 138 + background: url("../../assets/images/parkPay/yellowBG.png") no-repeat;
139 background-size: 100% 100%; 139 background-size: 100% 100%;
140 } 140 }
141 141
142 .carGreen { 142 .carGreen {
143 - background: url("../assets/images/greenBG.png") no-repeat; 143 + background: url("../../assets/images/parkPay/greenBG.png") no-repeat;
144 background-size: 100% 100%; 144 background-size: 100% 100%;
145 } 145 }
146 146
147 .carWhite { 147 .carWhite {
148 - background: url("../assets/images/whiteBG.png") no-repeat; 148 + background: url("../../assets/images/parkPay/whiteBG.png") no-repeat;
149 background-size: 100% 100%; 149 background-size: 100% 100%;
150 } 150 }
151 151
152 .carBlack { 152 .carBlack {
153 - background: url("../assets/images/blackBG.png") no-repeat; 153 + background: url("../../assets/images/parkPay/blackBG.png") no-repeat;
154 background-size: 100% 100%; 154 background-size: 100% 100%;
155 } 155 }
156 .toParkRecord{ 156 .toParkRecord{
@@ -160,7 +160,7 @@ export default { @@ -160,7 +160,7 @@ export default {
160 line-height: 50px; 160 line-height: 50px;
161 font-size: 16px; 161 font-size: 16px;
162 text-align: center; 162 text-align: center;
163 - background: url("../assets/images/toParkRecord.png") no-repeat; 163 + background: url("../../assets/images/parkPay/toParkRecord.png") no-repeat;
164 background-size: 100% 50px; 164 background-size: 100% 50px;
165 cursor: pointer; 165 cursor: pointer;
166 } 166 }
src/components/orderPay.vue renamed to src/views/parkPay/orderPay.vue
@@ -22,7 +22,7 @@ @@ -22,7 +22,7 @@
22 </li> 22 </li>
23 </ul> 23 </ul>
24 <div style="padding: 20px 18px"> 24 <div style="padding: 20px 18px">
25 - <div class="toPay" @click="toPay">{{clientBrowser}}支付</div> 25 + <div class="toPay" @click="toPay">微信支付</div>
26 </div> 26 </div>
27 27
28 <div v-if="appOrderTimeout"> 28 <div v-if="appOrderTimeout">
@@ -51,7 +51,6 @@ export default { @@ -51,7 +51,6 @@ export default {
51 arrearageActFee: 0, 51 arrearageActFee: 0,
52 arrearageDiscFee: 0, 52 arrearageDiscFee: 0,
53 arrearageActFee: 0, 53 arrearageActFee: 0,
54 - clientBrowser: '', // 客户端  
55 paySrcType: '', //支付的类型 101 是本次 103是历史欠费 54 paySrcType: '', //支付的类型 101 是本次 103是历史欠费
56 orderId: '', //支付的订单 55 orderId: '', //支付的订单
57 webAppCode: '', // 微信code 56 webAppCode: '', // 微信code
@@ -65,7 +64,6 @@ export default { @@ -65,7 +64,6 @@ export default {
65 this.arrearageTotalFee = this.$route.query.arrearageTotalFee // 应收 64 this.arrearageTotalFee = this.$route.query.arrearageTotalFee // 应收
66 this.arrearageDiscFee = this.$route.query.arrearageDiscFee // 优惠 65 this.arrearageDiscFee = this.$route.query.arrearageDiscFee // 优惠
67 this.arrearageActFee = this.$route.query.arrearageActFee // 实收 66 this.arrearageActFee = this.$route.query.arrearageActFee // 实收
68 - this.clientBrowser = this.$utils.clientBrowser() //支付方式  
69 this.paySrcType = this.$route.query.paySrcType // 实收 67 this.paySrcType = this.$route.query.paySrcType // 实收
70 this.orderId = this.$route.query.ordeID // 订单号 68 this.orderId = this.$route.query.ordeID // 订单号
71 console.log(this.orderId) 69 console.log(this.orderId)
@@ -73,10 +71,8 @@ export default { @@ -73,10 +71,8 @@ export default {
73 71
74 let userAgent = navigator.userAgent; 72 let userAgent = navigator.userAgent;
75 this.isAndroid = userAgent.indexOf('Android') > -1 || userAgent.indexOf('Adr') > -1; //android终端 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 methods: { 77 methods: {
82 getCode() { 78 getCode() {
@@ -115,35 +111,9 @@ export default { @@ -115,35 +111,9 @@ export default {
115 }, 111 },
116 dopay(orderID) { 112 dopay(orderID) {
117 let me = this 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 var vm = this 117 var vm = this
148 //第一步获取openid 118 //第一步获取openid
149 var codeParams = { 119 var codeParams = {
@@ -208,7 +178,7 @@ export default { @@ -208,7 +178,7 @@ export default {
208 } 178 }
209 }) 179 })
210 180
211 - } 181 +
212 }, 182 },
213 toPay() { 183 toPay() {
214 let me = this 184 let me = this
@@ -277,27 +247,27 @@ export default { @@ -277,27 +247,27 @@ export default {
277 } 247 }
278 248
279 .carBlue { 249 .carBlue {
280 - background: url("../assets/images/blueBG.png") no-repeat; 250 + background: url("../../assets/images/parkPay/blueBG.png") no-repeat;
281 background-size: 100% 100%; 251 background-size: 100% 100%;
282 } 252 }
283 253
284 .carYellow { 254 .carYellow {
285 - background: url("../assets/images/yellowBG.png") no-repeat; 255 + background: url("../../assets/images/parkPay/yellowBG.png") no-repeat;
286 background-size: 100% 100%; 256 background-size: 100% 100%;
287 } 257 }
288 258
289 .carGreen { 259 .carGreen {
290 - background: url("../assets/images/greenBG.png") no-repeat; 260 + background: url("../../assets/images/parkPay/greenBG.png") no-repeat;
291 background-size: 100% 100%; 261 background-size: 100% 100%;
292 } 262 }
293 263
294 .carWhite { 264 .carWhite {
295 - background: url("../assets/images/whiteBG.png") no-repeat; 265 + background: url("../../assets/images/parkPay/whiteBG.png") no-repeat;
296 background-size: 100% 100%; 266 background-size: 100% 100%;
297 } 267 }
298 268
299 .carBlack { 269 .carBlack {
300 - background: url("../assets/images/blackBG.png") no-repeat; 270 + background: url("../../assets/images/parkPay/blackBG.png") no-repeat;
301 background-size: 100% 100%; 271 background-size: 100% 100%;
302 } 272 }
303 273
@@ -346,7 +316,7 @@ export default { @@ -346,7 +316,7 @@ export default {
346 316
347 .tip { 317 .tip {
348 padding-left: 40px; 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 background-size: 16px 16px; 320 background-size: 16px 16px;
351 color: #666; 321 color: #666;
352 } 322 }
src/components/parkRecord.vue renamed to src/views/parkPay/parkRecord.vue
@@ -358,7 +358,7 @@ export default { @@ -358,7 +358,7 @@ export default {
358 height: 25px; 358 height: 25px;
359 line-height: 25px; 359 line-height: 25px;
360 padding-left: 45px; 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 background-size: 18px 18px; 362 background-size: 18px 18px;
363 } 363 }
364 364
@@ -377,23 +377,23 @@ export default { @@ -377,23 +377,23 @@ export default {
377 li:first-child { 377 li:first-child {
378 width: 150px; 378 width: 150px;
379 &.carBlue { 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 background-size: 28px 17px; 381 background-size: 28px 17px;
382 } 382 }
383 &.carYellow { 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 background-size: 28px 17px; 385 background-size: 28px 17px;
386 } 386 }
387 &.carGreen { 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 background-size: 28px 17px; 389 background-size: 28px 17px;
390 } 390 }
391 &.carWhite { 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 background-size: 28px 17px; 393 background-size: 28px 17px;
394 } 394 }
395 &.carBlack { 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 background-size: 28px 17px; 397 background-size: 28px 17px;
398 } 398 }
399 } 399 }
@@ -448,14 +448,14 @@ export default { @@ -448,14 +448,14 @@ export default {
448 448
449 .cost-main-history{ 449 .cost-main-history{
450 margin-bottom: 10px; 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 background-size: 20px 20px; 452 background-size: 20px 20px;
453 cursor: pointer; 453 cursor: pointer;
454 } 454 }
455 455
456 456
457 .isChecked{ 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 background-size: 20px 20px; 459 background-size: 20px 20px;
460 } 460 }
461 461
@@ -488,12 +488,12 @@ export default { @@ -488,12 +488,12 @@ export default {
488 justify-content: space-between; 488 justify-content: space-between;
489 .check-btn{ 489 .check-btn{
490 padding-left: 30px; 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 background-size: 20px 20px; 492 background-size: 20px 20px;
493 cursor: pointer; 493 cursor: pointer;
494 } 494 }
495 .isAllChecked{ 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 background-size: 20px 20px; 497 background-size: 20px 20px;
498 } 498 }
499 .settle-btn{ 499 .settle-btn{
@@ -508,7 +508,7 @@ export default { @@ -508,7 +508,7 @@ export default {
508 508
509 .noRecord { 509 .noRecord {
510 padding-top: 200px; 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 background-size: 161px 124px; 512 background-size: 161px 124px;
513 text-align: center; 513 text-align: center;
514 } 514 }
src/components/plateNumber.vue renamed to src/views/parkPay/plateNumber.vue
@@ -31,10 +31,10 @@ @@ -31,10 +31,10 @@
31 <div class="radio-box"> 31 <div class="radio-box">
32 <label class="flex-items-center"> 32 <label class="flex-items-center">
33 <img v-if="formData.commonCard == 1" 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 alt=""> 35 alt="">
36 <img v-else 36 <img v-else
37 - src="../assets/images/icon_chose_n@2x.png" 37 + src="../../assets/images/parkPay/icon_chose_n@2x.png"
38 alt=""> 38 alt="">
39 <input type="radio" 39 <input type="radio"
40 v-model="formData.commonCard" 40 v-model="formData.commonCard"
@@ -42,10 +42,10 @@ @@ -42,10 +42,10 @@
42 </label> 42 </label>
43 <label class="flex-items-center"> 43 <label class="flex-items-center">
44 <img v-if="formData.commonCard == 2" 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 alt=""> 46 alt="">
47 <img v-else 47 <img v-else
48 - src="../assets/images/icon_chose_n@2x.png" 48 + src="../../assets/images/parkPay/icon_chose_n@2x.png"
49 alt=""> 49 alt="">
50 <input type="radio" 50 <input type="radio"
51 v-model="formData.commonCard" 51 v-model="formData.commonCard"
@@ -57,6 +57,26 @@ @@ -57,6 +57,26 @@
57 <div class="submit-box" @click="submitFn()"> 57 <div class="submit-box" @click="submitFn()">
58 查询 58 查询
59 </div> 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 </div> 80 </div>
61 <div class="first-word-wrap" 81 <div class="first-word-wrap"
62 v-if="firstWrapStatus"> 82 v-if="firstWrapStatus">
@@ -218,7 +238,7 @@ @@ -218,7 +238,7 @@
218 :key="index" 238 :key="index"
219 @click="clickKeyBoard(item)">{{item}}</span> 239 @click="clickKeyBoard(item)">{{item}}</span>
220 <span class="bordernone"></span> 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 </div> 242 </div>
223 <div class="cancel"> 243 <div class="cancel">
224 <span @click="keyBoardStatus = false">完成</span> 244 <span @click="keyBoardStatus = false">完成</span>
@@ -724,4 +744,33 @@ export default { @@ -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 </style> 776 </style>