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,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
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> |