handpos-client 1.0.0 → 1.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +9 -9
- package/README.md +3 -3
- package/build/dev-android.js +80 -82
- package/build/dev-server.js +0 -7
- package/build/webpack.base.conf.js +6 -6
- package/build/webpack.baseandroid.conf.js +87 -83
- package/index.html +1 -1
- package/oa.iml +9 -0
- package/package.json +7 -4
- package/src/App.vue +0 -2
- package/src/aotePos-android.js +49 -0
- package/src/aotePos.js +66 -70
- package/src/bootstrap/less/navs.less +1 -1
- package/src/components/Init.vue +114 -108
- package/src/components/Main.vue +81 -80
- package/src/components/css/garbage.less +80 -0
- package/src/components/css/style.less +119 -51
- package/src/components/garbage/GarbageInfo.vue +212 -0
- package/src/components/garbage/GarbagePayWay.vue +199 -0
- package/src/components/garbage/GarbageScanNative.vue +87 -0
- package/src/components/image/Payway.png +0 -0
- package/src/components/image/cardSale.png +0 -0
- package/src/components/image/ccbpay.png +0 -0
- package/src/components/image/code.jpg +0 -0
- package/src/components/image/guangda190603.jpg +0 -0
- package/src/components/image/machineSale.png +0 -0
- package/src/components/image/select.png +0 -0
- package/src/components/image/xxxk.png +0 -0
- package/src/components/main/CardMain.vue +47 -0
- package/src/components/main/MachineMain.vue +143 -0
- package/src/components/pay/PayWay.vue +173 -0
- package/src/components/pay/ScanNative.vue +87 -0
- package/src/components/pay/WriteCard.vue +141 -0
- package/src/components/public/BuyGas.vue +306 -0
- package/src/components/public/HistorySellList.vue +65 -0
- package/src/components/public/WritecardInfo.vue +114 -0
- package/src/components/sellgas/CardSellGas.vue +437 -0
- package/src/components/sellgas/IotSellGas.vue +155 -0
- package/src/components/sellgas/MachineSellGasGas.vue +145 -0
- package/src/components/sellgas/MachineSellGasMoney.vue +174 -0
- package/src/components/userinfo/UserInfo.vue +145 -0
- package/src/main.js +18 -23
- package/src/plugin/AndroidPlugin-/346/274/224/347/244/272/347/263/273/347/273/237.js +102 -0
- package/src/plugin/AndroidPlugin.js +107 -0
- package/src/plugin/DateUtil.js +32 -0
- package/src/plugin/HttpReset.js +124 -0
- package/src/plugin/Httputil.js +39 -0
- package/src/{Plugin → plugin}/PosUtil.js +21 -19
- package/src/service/CheckCard.js +103 -0
- package/src/service/GarbagePayWay.js +101 -0
- package/src/service/GarbageScanNative.js +116 -0
- package/src/service/GetCardInfo.js +88 -0
- package/src/service/PayWay.js +121 -0
- package/src/service/ScanNative.js +118 -0
- package/src/service/WriteCard.js +262 -0
- package/src/Plugin/AndroidPlugin.js +0 -141
- package/src/components/charge/card/CardInfo.vue +0 -43
- package/src/components/charge/card/ReadCardInter.vue +0 -176
- package/src/components/charge/card/ReadCardToBuy.vue +0 -174
- package/src/components/charge/machine/MachineSearch.Vue +0 -124
- package/src/components/charge/payment/OrderInfo.vue +0 -283
- package/src/components/charge/payment/ScanNative.vue +0 -162
- package/src/components/charge/sellgas/CardSellGas.vue +0 -365
- package/src/components/charge/sellgas/ChoosePayWay.vue +0 -275
- package/src/components/charge/sellgas/GudingPrice.vue +0 -38
- package/src/components/charge/sellgas/JietiPrice.vue +0 -54
- package/src/components/charge/sellgas/ScanQrcode.vue +0 -171
- package/src/components/charge/sellgas/WriteCard.vue +0 -283
- package/src/components/charge/userinfo/ChangeMeterList.vue +0 -43
- package/src/components/charge/userinfo/FillGasList.vue +0 -43
- package/src/components/charge/userinfo/HistorySellList.vue +0 -93
- package/src/components/charge/userinfo/OtherList.vue +0 -43
- package/src/components/charge/userinfo/SellList.vue +0 -43
- package/src/components/charge/userinfo/TransList.vue +0 -43
- package/src/components/charge/userinfo/UserInfo.vue +0 -201
- package/src/components/charge/userinfo/WritecardInfo.vue +0 -44
- package/src/components/ztprint.js +0 -26
- /package/src/components/image/{card.gif → readCard.gif} +0 -0
package/src/aotePos.js
CHANGED
|
@@ -1,70 +1,66 @@
|
|
|
1
|
-
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
import '
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
//
|
|
19
|
-
|
|
20
|
-
//
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
//
|
|
30
|
-
|
|
31
|
-
//
|
|
32
|
-
|
|
33
|
-
//
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
//
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
//
|
|
46
|
-
//
|
|
47
|
-
|
|
48
|
-
//
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
//
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
//
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
Vue.component('write-card', (resolve) => { require(['./components/charge/sellgas/WriteCard'], resolve) })
|
|
69
|
-
|
|
70
|
-
}
|
|
1
|
+
import Vue from 'vue'
|
|
2
|
+
import App from './App'
|
|
3
|
+
import 'babel-polyfill'
|
|
4
|
+
import AndroidPlugin from './plugin/AndroidPlugin'
|
|
5
|
+
import PosUtil from './plugin/PosUtil'
|
|
6
|
+
import { all } from 'vue-client'
|
|
7
|
+
import HttpUtil from './plugin/HttpUtil'
|
|
8
|
+
|
|
9
|
+
Vue.use(AndroidPlugin)
|
|
10
|
+
Vue.use(PosUtil)
|
|
11
|
+
Vue.use(HttpUtil)
|
|
12
|
+
all()
|
|
13
|
+
|
|
14
|
+
require('./bootstrap/less/bootstrap.less')
|
|
15
|
+
require('./components/css/style.less')
|
|
16
|
+
require('./components/css/garbage.less')
|
|
17
|
+
|
|
18
|
+
// 参数加载页面
|
|
19
|
+
Vue.component('init', (resolve) => { require(['./components/Init'], resolve) })
|
|
20
|
+
// 主页面
|
|
21
|
+
Vue.component('main', (resolve) => { require(['./components/Main'], resolve) })
|
|
22
|
+
|
|
23
|
+
// 卡表收费
|
|
24
|
+
Vue.component('card-main', (resolve) => { require(['./components/main/CardMain'], resolve) })
|
|
25
|
+
// 无卡收费
|
|
26
|
+
Vue.component('machine-main', (resolve) => { require(['./components/main/MachineMain'], resolve) })
|
|
27
|
+
|
|
28
|
+
// 垃圾费相关
|
|
29
|
+
// 垃圾费信息
|
|
30
|
+
Vue.component('garbage-info', (resolve) => { require(['./components/garbage/GarbageInfo'], resolve) })
|
|
31
|
+
// 垃圾费支付方式选择
|
|
32
|
+
Vue.component('garbage-pay-way', (resolve) => { require(['./components/garbage/GarbagePayWay'], resolve) })
|
|
33
|
+
// 垃圾费二维码扫描
|
|
34
|
+
Vue.component('garbage-scan-native', (resolve) => { require(['./components/garbage/GarbageScanNative'], resolve) })
|
|
35
|
+
|
|
36
|
+
// 卡表用户信息
|
|
37
|
+
Vue.component('card-user-info', (resolve) => { require(['./components/sellgas/CardSellGas'], resolve) })
|
|
38
|
+
// 物联网表信息
|
|
39
|
+
Vue.component('iot-user-info', (resolve) => { require(['./components/sellgas/IotSellGas'], resolve) })
|
|
40
|
+
// 机表用户信息-gas
|
|
41
|
+
Vue.component('machine-user-info-gas', (resolve) => { require(['./components/sellgas/MachineSellGasGas'], resolve) })
|
|
42
|
+
// 机表用户信息-money(常用)
|
|
43
|
+
Vue.component('machine-user-info', (resolve) => { require(['./components/sellgas/MachineSellGasMoney'], resolve) })
|
|
44
|
+
|
|
45
|
+
// 支付
|
|
46
|
+
// 选择支付方式
|
|
47
|
+
Vue.component('pay-way', (resolve) => { require(['./components/pay/PayWay'], resolve) })
|
|
48
|
+
// 二维码展示界面
|
|
49
|
+
Vue.component('scannative', (resolve) => { require(['./components/pay/ScanNative'], resolve) })
|
|
50
|
+
// 写卡界面
|
|
51
|
+
Vue.component('order-info', (resolve) => { require(['./components/pay/WriteCard'], resolve) })
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
// 公共组件
|
|
56
|
+
// 历史收费记录
|
|
57
|
+
Vue.component('history-sell-list', (resolve) => { require(['./components/public/HistorySellList'], resolve) })
|
|
58
|
+
// 预写卡信息
|
|
59
|
+
Vue.component('write-card-info', (resolve) => { require(['./components/public/WritecardInfo'], resolve) })
|
|
60
|
+
// 购气
|
|
61
|
+
Vue.component('buy-gas', (resolve) => { require(['./components/public/BuyGas'], resolve) })
|
|
62
|
+
|
|
63
|
+
new Vue({
|
|
64
|
+
el: 'body',
|
|
65
|
+
components: { App }
|
|
66
|
+
})
|
package/src/components/Init.vue
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div >
|
|
3
|
-
<div class="mhead"
|
|
3
|
+
<div class="mhead">
|
|
4
4
|
<ul>
|
|
5
5
|
<li>
|
|
6
|
-
<text
|
|
6
|
+
<text>自助缴费机</text>
|
|
7
7
|
</li>
|
|
8
8
|
</ul>
|
|
9
9
|
</div>
|
|
@@ -17,123 +17,129 @@
|
|
|
17
17
|
</div>
|
|
18
18
|
</div>
|
|
19
19
|
</div>
|
|
20
|
-
<div class="foot"
|
|
21
|
-
<text >退出</text>
|
|
22
|
-
</div>
|
|
23
|
-
<div class="foot" v-if="hideHead" @click="back()">
|
|
20
|
+
<div class="foot">
|
|
24
21
|
<text >返回</text>
|
|
25
22
|
</div>
|
|
26
23
|
</div>
|
|
27
24
|
</template>
|
|
28
25
|
|
|
29
26
|
<script>
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
27
|
+
import Vue from 'vue'
|
|
28
|
+
let getConfig = self => {
|
|
29
|
+
console.group('getConfigParam')
|
|
30
|
+
let param = {
|
|
31
|
+
device_num: self.$PosUtil.Sn
|
|
32
|
+
}
|
|
33
|
+
console.log('getConfigParam参数: ', param)
|
|
34
|
+
self.$resetpost(Vue.ProxyUrl +'rs/logic/getConfigParam', param, {resolveMsg: null, rejectMsg: null}).then(res => {
|
|
35
|
+
self.loading_text = "初始化成功"
|
|
36
|
+
self.clearThisInterval()
|
|
37
|
+
// 设置从后台拿过来的参数值
|
|
38
|
+
Object.assign(self.$PosUtil.posParam, res.data)
|
|
39
|
+
|
|
40
|
+
console.log(self.$PosUtil.posParam)
|
|
41
|
+
|
|
42
|
+
// 验证通过
|
|
43
|
+
self.$goto('main', {}, 'self')
|
|
44
|
+
}).catch(res => {
|
|
45
|
+
console.log('res.status:', res.status)
|
|
46
|
+
if (res.status === 501) {
|
|
47
|
+
self.loading_text = "该设备未注册,请注册后点击重试"
|
|
48
|
+
} else if (res.status === 404) {
|
|
49
|
+
self.loading_text = "设备网络故障或连接服务器异常"
|
|
50
|
+
} else if (res.status === 500) {
|
|
51
|
+
self.loading_text = "服务器内部错误"
|
|
52
|
+
} else {
|
|
53
|
+
self.loading_text = "未知错误"
|
|
54
|
+
}
|
|
55
|
+
self.errorShow = true
|
|
56
|
+
self.clearThisInterval()
|
|
57
|
+
})
|
|
58
|
+
console.groupEnd()
|
|
59
|
+
}
|
|
60
|
+
export default {
|
|
61
|
+
title: '初始化',
|
|
62
|
+
name: "Init",
|
|
63
|
+
data() {
|
|
64
|
+
return {
|
|
65
|
+
loading_text: '正在对机器进行初始化操作,请稍等',
|
|
66
|
+
dots: '',
|
|
67
|
+
timeOut: undefined,
|
|
68
|
+
timeIndex: 0,
|
|
69
|
+
errorShow: false
|
|
70
|
+
}
|
|
71
|
+
},
|
|
72
|
+
ready() {
|
|
73
|
+
this.start()
|
|
74
|
+
},
|
|
75
|
+
methods: {
|
|
76
|
+
//判断当前运行环境
|
|
77
|
+
isAndroidDevice() {
|
|
78
|
+
try {
|
|
79
|
+
console.log('android环境')
|
|
80
|
+
HostApp
|
|
81
|
+
this.$AndroidPlugin.isAndroid = true
|
|
82
|
+
let url = this.$AndroidPlugin.getProxyURL() + '/'
|
|
83
|
+
if (Vue.phoneBuild){
|
|
84
|
+
url = this.$AndroidPlugin.getProxyURL() + '/pos/'
|
|
85
|
+
}
|
|
86
|
+
Vue.ProxyUrl = url
|
|
87
|
+
} catch (e) {
|
|
88
|
+
console.log('PC测试环境')
|
|
89
|
+
Vue.AndroidPlugin.isAndroid = false
|
|
90
|
+
//如果是非安卓环境,config中配置的链接地址肯定是不能用的,所以改成空的即可
|
|
91
|
+
Vue.ProxyUrl = ''
|
|
42
92
|
}
|
|
43
93
|
},
|
|
44
|
-
|
|
45
|
-
this
|
|
94
|
+
back(){
|
|
95
|
+
this.$back()
|
|
46
96
|
},
|
|
47
|
-
|
|
48
|
-
|
|
97
|
+
getSn() {
|
|
98
|
+
this.Sn = this.$AndroidPlugin.getSN()
|
|
99
|
+
Vue.PosUtil.Sn = this.Sn
|
|
49
100
|
},
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
* 清空等待条中的点
|
|
89
|
-
* */
|
|
90
|
-
initDots() {
|
|
91
|
-
this.timeIndex = 0
|
|
92
|
-
this.dots = ''
|
|
93
|
-
},
|
|
94
|
-
/**
|
|
95
|
-
* 启动计时器
|
|
96
|
-
* */
|
|
97
|
-
async start() {
|
|
98
|
-
await this.isAndroidDevice()
|
|
99
|
-
await this.getSn()
|
|
100
|
-
this.errorShow = false
|
|
101
|
-
this.loading_text = '正在进行初始化操作,请稍等...'
|
|
102
|
-
this.timeOut = window.setInterval(this.setTimeOutMethod, 1000)
|
|
103
|
-
getConfig(this)
|
|
104
|
-
},
|
|
105
|
-
/**
|
|
106
|
-
* 判断增加一个点还是清空点
|
|
107
|
-
* */
|
|
108
|
-
setTimeOutMethod() {
|
|
109
|
-
this.timeIndex >= 3 ? this.initDots() : this.addDots()
|
|
110
|
-
}
|
|
101
|
+
home() {
|
|
102
|
+
this.$AndroidPlugin.back_home()
|
|
103
|
+
},
|
|
104
|
+
/**
|
|
105
|
+
* 给等待条添加一个点
|
|
106
|
+
* */
|
|
107
|
+
addDots() {
|
|
108
|
+
this.timeIndex++
|
|
109
|
+
this.dots += '.'
|
|
110
|
+
},
|
|
111
|
+
/**
|
|
112
|
+
* 结束本组件内的计时器
|
|
113
|
+
* */
|
|
114
|
+
clearThisInterval() {
|
|
115
|
+
window.clearInterval(this.timeOut)
|
|
116
|
+
this.initDots()
|
|
117
|
+
},
|
|
118
|
+
/**
|
|
119
|
+
* 清空等待条中的点
|
|
120
|
+
* */
|
|
121
|
+
initDots() {
|
|
122
|
+
this.timeIndex = 0
|
|
123
|
+
this.dots = ''
|
|
124
|
+
},
|
|
125
|
+
/**
|
|
126
|
+
* 启动计时器
|
|
127
|
+
* */
|
|
128
|
+
async start() {
|
|
129
|
+
await this.isAndroidDevice()
|
|
130
|
+
await this.getSn()
|
|
131
|
+
this.errorShow = false
|
|
132
|
+
this.loading_text = '正在进行初始化操作,请稍等...'
|
|
133
|
+
this.timeOut = window.setInterval(this.setTimeOutMethod, 1000)
|
|
134
|
+
getConfig(this)
|
|
135
|
+
},
|
|
136
|
+
// 判断增加一个点还是清空点
|
|
137
|
+
setTimeOutMethod() {
|
|
138
|
+
this.timeIndex >= 3 ? this.initDots() : this.addDots()
|
|
111
139
|
}
|
|
112
140
|
}
|
|
113
|
-
|
|
114
|
-
* 获取后台配置文件来进行初始化工作
|
|
115
|
-
* */
|
|
116
|
-
let getConfig = self => {
|
|
117
|
-
console.log('传的数据',self.$PosUtil.Sn)
|
|
118
|
-
self.$resetpost(Vue.ProxyUrl +'/rs/logic/getConfigParam', {data: {device_num: self.$PosUtil.Sn}}, {resolveMsg: null, rejectMsg: null}).then(res => {
|
|
119
|
-
self.loading_text = "初始化成功"
|
|
120
|
-
self.clearThisInterval()
|
|
121
|
-
// 设置从后台拿过来的参数值
|
|
122
|
-
Object.assign(self.$PosUtil.posParam,res.data)
|
|
123
|
-
|
|
124
|
-
console.log(self.$PosUtil.posParam)
|
|
125
|
-
// 跳转
|
|
126
|
-
self.$goto('main', {}, 'self')
|
|
127
|
-
}).catch(res => {
|
|
128
|
-
console.log('resss',res)
|
|
129
|
-
// self.$showMessage("错误状态码:" + res.status + "\n错误信息:" + res.statusText)
|
|
130
|
-
self.loading_text = "初始化失败(" + res.status + "),请确认网络连接正常后重试"
|
|
131
|
-
self.errorShow = true
|
|
132
|
-
self.clearThisInterval()
|
|
133
|
-
})
|
|
134
|
-
}
|
|
141
|
+
}
|
|
135
142
|
</script>
|
|
136
|
-
|
|
137
143
|
<style>
|
|
138
144
|
.span-height-center {
|
|
139
145
|
position: relative;
|
|
@@ -187,7 +193,7 @@
|
|
|
187
193
|
}
|
|
188
194
|
|
|
189
195
|
.loading-text-style {
|
|
190
|
-
margin:
|
|
196
|
+
margin: 0 10% 0 10%;
|
|
191
197
|
height: 30%;
|
|
192
198
|
border-radius: 10px;
|
|
193
199
|
text-align: center
|
|
@@ -201,6 +207,6 @@
|
|
|
201
207
|
|
|
202
208
|
.ErrorBtnLocation {
|
|
203
209
|
position: relative;
|
|
204
|
-
height: 0
|
|
210
|
+
height: 0;
|
|
205
211
|
}
|
|
206
212
|
</style>
|
package/src/components/Main.vue
CHANGED
|
@@ -1,80 +1,81 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<div>
|
|
3
|
-
<div class="mhead"
|
|
4
|
-
<ul>
|
|
5
|
-
<li>
|
|
6
|
-
<text
|
|
7
|
-
</li>
|
|
8
|
-
</ul>
|
|
9
|
-
</div>
|
|
10
|
-
<div class="body" style="background: #f0f0f0;padding: 20%;">
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
</div>
|
|
25
|
-
<div class="foot"
|
|
26
|
-
<text >返回</text>
|
|
27
|
-
</div>
|
|
28
|
-
</div>
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
1
|
+
<template>
|
|
2
|
+
<div>
|
|
3
|
+
<div class="mhead">
|
|
4
|
+
<ul>
|
|
5
|
+
<li>
|
|
6
|
+
<text>自助缴费机</text>
|
|
7
|
+
</li>
|
|
8
|
+
</ul>
|
|
9
|
+
</div>
|
|
10
|
+
<div class="body" style="background: #f0f0f0;padding: 20%;">
|
|
11
|
+
<!-- 卡表缴费 -->
|
|
12
|
+
<div @click='sale("card")' class="auto" style="margin-top: 10%;" v-if="hasCardSale">
|
|
13
|
+
<img src="./image/cardSale.png" alt="" class="img-responsive" />
|
|
14
|
+
</div>
|
|
15
|
+
<!-- 无卡收费 -->
|
|
16
|
+
<div @click='sale("machine")' class="auto" style="margin-top: 10%; " v-if="hasMachine">
|
|
17
|
+
<img src="./image/machineSale.png" class="img-responsive"/>
|
|
18
|
+
</div>
|
|
19
|
+
<!-- 主页二维码展示-->
|
|
20
|
+
<div class="auto" style="margin-top: 10%;" v-if="hasShowCode">
|
|
21
|
+
<img :src="code()" height="70%" width="70%" style="margin: 0 auto;display: none !important;" class="img-responsive"/>
|
|
22
|
+
<h5 style="margin-left: 15%;color: #000000">{{tips}}</h5>
|
|
23
|
+
</div>
|
|
24
|
+
</div>
|
|
25
|
+
<div class="foot">
|
|
26
|
+
<text >返回</text>
|
|
27
|
+
</div>
|
|
28
|
+
</div>
|
|
29
|
+
</template>
|
|
30
|
+
<script>
|
|
31
|
+
|
|
32
|
+
import Vue from 'vue'
|
|
33
|
+
export default {
|
|
34
|
+
title: '收费导航页',
|
|
35
|
+
name: 'Main',
|
|
36
|
+
data () {
|
|
37
|
+
return {
|
|
38
|
+
Sn: '',
|
|
39
|
+
hasCardSale: false,
|
|
40
|
+
hasMachine: false,
|
|
41
|
+
hasShowCode: false,
|
|
42
|
+
tips: ''
|
|
43
|
+
}
|
|
44
|
+
},
|
|
45
|
+
props: {
|
|
46
|
+
hideHead: false
|
|
47
|
+
},
|
|
48
|
+
methods: {
|
|
49
|
+
callBack(msg) {
|
|
50
|
+
if (msg !== 'toMain') {
|
|
51
|
+
this.$showNewMessage('错误', '返回错误' + msg, [], 'newmgs')
|
|
52
|
+
}
|
|
53
|
+
},
|
|
54
|
+
sale (type) {
|
|
55
|
+
if (type === 'card') {
|
|
56
|
+
// 卡表缴费
|
|
57
|
+
this.$goto('card-main', {}, 'self', this.callBack)
|
|
58
|
+
} else {
|
|
59
|
+
// 无表缴费
|
|
60
|
+
this.$goto('machine-main', {}, 'self', this.callBack)
|
|
61
|
+
}
|
|
62
|
+
},
|
|
63
|
+
// 获取二维码
|
|
64
|
+
code () {
|
|
65
|
+
if (this.$PosUtil.posParam.isShowCode) {
|
|
66
|
+
return Vue.ProxyUrl + '/res/' + this.$PosUtil.posParam.codeImagePath + '/code.jpg'
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
},
|
|
70
|
+
ready () {
|
|
71
|
+
this.Sn=this.$PosUtil.Sn
|
|
72
|
+
this.hasCardSale = this.$PosUtil.posParam.hasCardSale
|
|
73
|
+
this.hasMachine = this.$PosUtil.posParam.hasMachine
|
|
74
|
+
this.hasShowCode = this.$PosUtil.posParam.hasShowCode
|
|
75
|
+
this.tips = this.$PosUtil.posParam.tips
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
</script>
|
|
79
|
+
<style>
|
|
80
|
+
|
|
81
|
+
</style>
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
/* 垃圾费相关样式 */
|
|
2
|
+
|
|
3
|
+
// 垃圾费按钮样式
|
|
4
|
+
.garbage-btn {
|
|
5
|
+
background-color: #5cb85c;
|
|
6
|
+
border-color: #4cae4c;
|
|
7
|
+
color: white;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
.garbage-btn:hover {
|
|
11
|
+
background-color: #449d44;
|
|
12
|
+
border-color: #398439;
|
|
13
|
+
color: white;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
// 垃圾费信息面板样式
|
|
17
|
+
.garbage-panel {
|
|
18
|
+
.panel-heading {
|
|
19
|
+
background-color: #f5f5f5;
|
|
20
|
+
border-bottom: 1px solid #ddd;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
.panel-title {
|
|
24
|
+
color: #333;
|
|
25
|
+
font-weight: bold;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
// 垃圾费表格样式
|
|
30
|
+
.garbage-table {
|
|
31
|
+
.table {
|
|
32
|
+
margin-bottom: 0;
|
|
33
|
+
|
|
34
|
+
th {
|
|
35
|
+
background-color: #499edf;
|
|
36
|
+
color: white;
|
|
37
|
+
text-align: center;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
td {
|
|
41
|
+
text-align: center;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
// 缴费按钮样式
|
|
47
|
+
.pay-btn {
|
|
48
|
+
background-color: #5cb85c;
|
|
49
|
+
border-color: #4cae4c;
|
|
50
|
+
color: white;
|
|
51
|
+
font-size: 16px;
|
|
52
|
+
padding: 12px 24px;
|
|
53
|
+
|
|
54
|
+
&:hover {
|
|
55
|
+
background-color: #449d44;
|
|
56
|
+
border-color: #398439;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
// 返回主页按钮样式
|
|
61
|
+
.back-btn {
|
|
62
|
+
background-color: #6c757d;
|
|
63
|
+
border-color: #6c757d;
|
|
64
|
+
color: white;
|
|
65
|
+
font-size: 16px;
|
|
66
|
+
padding: 12px 24px;
|
|
67
|
+
|
|
68
|
+
&:hover {
|
|
69
|
+
background-color: #545b62;
|
|
70
|
+
border-color: #545b62;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
// 垃圾费图标样式
|
|
75
|
+
.garbage-icon {
|
|
76
|
+
width: 80px;
|
|
77
|
+
height: 80px;
|
|
78
|
+
margin: 0 auto;
|
|
79
|
+
display: block;
|
|
80
|
+
}
|