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.
Files changed (78) hide show
  1. package/CHANGELOG.md +9 -9
  2. package/README.md +3 -3
  3. package/build/dev-android.js +80 -82
  4. package/build/dev-server.js +0 -7
  5. package/build/webpack.base.conf.js +6 -6
  6. package/build/webpack.baseandroid.conf.js +87 -83
  7. package/index.html +1 -1
  8. package/oa.iml +9 -0
  9. package/package.json +7 -4
  10. package/src/App.vue +0 -2
  11. package/src/aotePos-android.js +49 -0
  12. package/src/aotePos.js +66 -70
  13. package/src/bootstrap/less/navs.less +1 -1
  14. package/src/components/Init.vue +114 -108
  15. package/src/components/Main.vue +81 -80
  16. package/src/components/css/garbage.less +80 -0
  17. package/src/components/css/style.less +119 -51
  18. package/src/components/garbage/GarbageInfo.vue +212 -0
  19. package/src/components/garbage/GarbagePayWay.vue +199 -0
  20. package/src/components/garbage/GarbageScanNative.vue +87 -0
  21. package/src/components/image/Payway.png +0 -0
  22. package/src/components/image/cardSale.png +0 -0
  23. package/src/components/image/ccbpay.png +0 -0
  24. package/src/components/image/code.jpg +0 -0
  25. package/src/components/image/guangda190603.jpg +0 -0
  26. package/src/components/image/machineSale.png +0 -0
  27. package/src/components/image/select.png +0 -0
  28. package/src/components/image/xxxk.png +0 -0
  29. package/src/components/main/CardMain.vue +47 -0
  30. package/src/components/main/MachineMain.vue +143 -0
  31. package/src/components/pay/PayWay.vue +173 -0
  32. package/src/components/pay/ScanNative.vue +87 -0
  33. package/src/components/pay/WriteCard.vue +141 -0
  34. package/src/components/public/BuyGas.vue +306 -0
  35. package/src/components/public/HistorySellList.vue +65 -0
  36. package/src/components/public/WritecardInfo.vue +114 -0
  37. package/src/components/sellgas/CardSellGas.vue +437 -0
  38. package/src/components/sellgas/IotSellGas.vue +155 -0
  39. package/src/components/sellgas/MachineSellGasGas.vue +145 -0
  40. package/src/components/sellgas/MachineSellGasMoney.vue +174 -0
  41. package/src/components/userinfo/UserInfo.vue +145 -0
  42. package/src/main.js +18 -23
  43. package/src/plugin/AndroidPlugin-/346/274/224/347/244/272/347/263/273/347/273/237.js +102 -0
  44. package/src/plugin/AndroidPlugin.js +107 -0
  45. package/src/plugin/DateUtil.js +32 -0
  46. package/src/plugin/HttpReset.js +124 -0
  47. package/src/plugin/Httputil.js +39 -0
  48. package/src/{Plugin → plugin}/PosUtil.js +21 -19
  49. package/src/service/CheckCard.js +103 -0
  50. package/src/service/GarbagePayWay.js +101 -0
  51. package/src/service/GarbageScanNative.js +116 -0
  52. package/src/service/GetCardInfo.js +88 -0
  53. package/src/service/PayWay.js +121 -0
  54. package/src/service/ScanNative.js +118 -0
  55. package/src/service/WriteCard.js +262 -0
  56. package/src/Plugin/AndroidPlugin.js +0 -141
  57. package/src/components/charge/card/CardInfo.vue +0 -43
  58. package/src/components/charge/card/ReadCardInter.vue +0 -176
  59. package/src/components/charge/card/ReadCardToBuy.vue +0 -174
  60. package/src/components/charge/machine/MachineSearch.Vue +0 -124
  61. package/src/components/charge/payment/OrderInfo.vue +0 -283
  62. package/src/components/charge/payment/ScanNative.vue +0 -162
  63. package/src/components/charge/sellgas/CardSellGas.vue +0 -365
  64. package/src/components/charge/sellgas/ChoosePayWay.vue +0 -275
  65. package/src/components/charge/sellgas/GudingPrice.vue +0 -38
  66. package/src/components/charge/sellgas/JietiPrice.vue +0 -54
  67. package/src/components/charge/sellgas/ScanQrcode.vue +0 -171
  68. package/src/components/charge/sellgas/WriteCard.vue +0 -283
  69. package/src/components/charge/userinfo/ChangeMeterList.vue +0 -43
  70. package/src/components/charge/userinfo/FillGasList.vue +0 -43
  71. package/src/components/charge/userinfo/HistorySellList.vue +0 -93
  72. package/src/components/charge/userinfo/OtherList.vue +0 -43
  73. package/src/components/charge/userinfo/SellList.vue +0 -43
  74. package/src/components/charge/userinfo/TransList.vue +0 -43
  75. package/src/components/charge/userinfo/UserInfo.vue +0 -201
  76. package/src/components/charge/userinfo/WritecardInfo.vue +0 -44
  77. package/src/components/ztprint.js +0 -26
  78. /package/src/components/image/{card.gif → readCard.gif} +0 -0
package/src/aotePos.js CHANGED
@@ -1,70 +1,66 @@
1
-
2
- import Vue from 'vue'
3
- import App from './App'
4
- import 'babel-polyfill'
5
- // import { system } from 'system-clients'
6
-
7
- // import './components/js/jquery.min.js'
8
- // import './components/js/bootstrap.min.js'
9
- import AndroidPlugin from './Plugin/AndroidPlugin'
10
- import PosUtil from './Plugin/PosUtil'
11
-
12
- export default function () {
13
-
14
- Vue.use(AndroidPlugin)
15
- Vue.use(PosUtil)
16
-
17
- // system()
18
- // require('./components/js/jquery.min.js')
19
- // require('./components/js/bootstrap.min.js')
20
- // require('./bootstrap/less/bootstrap.less')
21
- // require('./components/css/bootstrap.less')
22
- // require('./components/css/css.less')
23
- require('./bootstrap/less/bootstrap.less')
24
- require('./components/css/style.less')
25
-
26
-
27
- //参数加载页面
28
- Vue.component('init', (resolve) => { require(['./components/Init'], resolve) })
29
- // 读卡页面
30
- Vue.component('main', (resolve) => { require(['./components/Main'], resolve) })
31
- // 无卡操作
32
- // Vue.component('machine-search', (resolve) => { require(['./components/charge/machine/MachineSearch'], resolve) })
33
- // 读卡跳转页
34
- Vue.component('read-card-inter', (resolve) => { require(['./components/charge/card/ReadCardInter'], resolve) })
35
- // 用户信息
36
- Vue.component('user-info', (resolve) => { require(['./components/charge/userinfo/UserInfo'], resolve) })
37
- // 卡上信息
38
- Vue.component('card-info', (resolve) => { require(['./components/charge/card/CardInfo'], resolve) })
39
- // 购气历史
40
- Vue.component('sell-list', (resolve) => { require(['./components/charge/userinfo/SellList'], resolve) })
41
- // 换表历史
42
- // Vue.component('change-meter-list', (resolve) => { require(['./components/charge/userinfo/ChangeMeterList'], resolve) })
43
- // 补气信息
44
- // Vue.component('fill-gas-list', (resolve) => { require(['./components/charge/userinfo/FillGasList'], resolve) })
45
- // 过户历史
46
- // Vue.component('trans-list', (resolve) => { require(['./components/charge/userinfo/TransList'], resolve) })
47
- // 其他收费信息
48
- // Vue.component('other-list', (resolve) => { require(['./components/charge/userinfo/OtherList'], resolve) })
49
- // 预写卡信息
50
- Vue.component('write-card-info', (resolve) => { require(['./components/charge/userinfo/WritecardInfo'], resolve) })
51
- // 购气历史
52
- Vue.component('history-sell-list', (resolve) => { require(['./components/charge/userinfo/HistorySellList'], resolve) })
53
- // 卡表售气
54
- Vue.component('card-sell-gas', (resolve) => { require(['./components/charge/sellgas/CardSellGas'], resolve) })
55
- // 固定气价显示
56
- Vue.component('guding-price', (resolve) => { require(['./components/charge/sellgas/GudingPrice'], resolve) })
57
- // 阶梯气价显示
58
- Vue.component('jieti-price', (resolve) => { require(['./components/charge/sellgas/JietiPrice'], resolve) })
59
- // 购气前读卡跳转
60
- // Vue.component('read-card-to-buy', (resolve) => { require(['./components/charge/card/ReadCardToBuy'], resolve) })
61
-
62
- Vue.component('choose-pay-way', (resolve) => { require(['./components/charge/sellgas/ChoosePayWay'], resolve) })
63
- // Vue.component('scannative', (resolve) => { require(['./components/charge/payment/ScanNative'], resolve) })
64
- // Vue.component('order-info', (resolve) => { require(['./components/charge/payment/OrderInfo'], resolve) })
65
-
66
- Vue.component('scan-qrcode', (resolve) => { require(['./components/charge/sellgas/ScanQrcode'], resolve) })
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
+ })
@@ -265,7 +265,7 @@
265
265
  display: none;
266
266
  // padding: 0px 15px 0px 15px;
267
267
  // 原本没有,自己添加
268
- padding-top: 10px;
268
+ //padding-top: 10px;
269
269
  background: #FFF; // 原本,之前修改的为#FCFEEE
270
270
  }
271
271
  > .active {
@@ -1,9 +1,9 @@
1
1
  <template>
2
2
  <div >
3
- <div class="mhead" v-if="!hideHead">
3
+ <div class="mhead">
4
4
  <ul>
5
5
  <li>
6
- <text>购气写卡</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" v-if="!hideHead" @click="home()" >
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
- import Vue from 'vue'
31
-
32
- export default {
33
- title: '初始化工作框',
34
- name: "Init",
35
- data() {
36
- return {
37
- loading_text: '正在对机器进行初始化操作,请稍等',
38
- dots: '',
39
- timeOut: undefined,
40
- timeIndex: 0,
41
- errorShow: false
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
- ready() {
45
- this.start()
94
+ back(){
95
+ this.$back()
46
96
  },
47
- props: {
48
- hideHead: false
97
+ getSn() {
98
+ this.Sn = this.$AndroidPlugin.getSN()
99
+ Vue.PosUtil.Sn = this.Sn
49
100
  },
50
- methods: {
51
- //判断当前运行环境
52
- isAndroidDevice() {
53
- try {
54
- HostApp
55
- this.$AndroidPlugin.isAndroid = true
56
- Vue.ProxyUrl = this.$AndroidPlugin.getProxyURL()
57
- } catch (e) {
58
- Vue.AndroidPlugin.isAndroid = false
59
- //如果是非安卓环境,config中配置的链接地址肯定是不能用的,所以改成空的即可
60
- Vue.ProxyUrl = '/pos'
61
- }
62
- },
63
- back(){
64
- this.$back()
65
- },
66
- getSn() {
67
- this.Sn = this.$AndroidPlugin.getSN()
68
- Vue.PosUtil.Sn = this.Sn
69
- },
70
- home() {
71
- this.$AndroidPlugin.back_home()
72
- },
73
- /**
74
- * 给等待条添加一个点
75
- * */
76
- addDots() {
77
- this.timeIndex++
78
- this.dots += '.'
79
- },
80
- /**
81
- * 结束本组件内的计时器
82
- * */
83
- clearThisInterval() {
84
- window.clearInterval(this.timeOut)
85
- this.initDots()
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: 0px 10% 0px 10%;
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>
@@ -1,80 +1,81 @@
1
- <template>
2
- <div>
3
- <div class="mhead" v-if="!hideHead">
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='card("hasOfflineWrite")' class="auto" style="margin-top: -10%;" v-if="hasOfflineWrite">
13
- <img src="./image/xxxk.png" alt="" class="img-responsive" />
14
- </div>
15
- <div @click='card("hasCardUser")'class="auto" style="margin-top: 10%;" v-if="hasCardUser">
16
- <img src="./image/kbgq.png" alt="" class="img-responsive" />
17
- </div>
18
- <div @click='pay()'class="auto" style="margin-top: 10%;" v-if="hasMachine">
19
- <img src="./image/fkbgq.png" alt="" class="img-responsive" />
20
- </div>
21
- </div>
22
- <div class="foot" v-if="!hideHead" @click="home()">
23
- <text >退出</text>
24
- </div>
25
- <div class="foot" v-if="hideHead" @click="back()">
26
- <text >返回</text>
27
- </div>
28
- </div>
29
-
30
- </template>
31
-
32
- <script>
33
- // import * as Util from '../util'
34
- export default {
35
- title: '收费导航页',
36
- data () {
37
- return {
38
- Sn:'',
39
- hasMachine: false,
40
- hasCardUser: false,
41
- hasOfflineWrite: false
42
- }
43
- },
44
- props: {
45
- hideHead: false
46
- },
47
- methods: {
48
- callBack(msg) {
49
- console.log(msg)
50
- if (msg === 'tomain') {
51
- return
52
- }
53
- if (msg !== undefined && msg !== null && msg !== '') {
54
- this.$showMessage(msg)
55
- return
56
- }
57
- },
58
- back(){
59
- this.$back()
60
- },
61
- home() {
62
- this.$AndroidPlugin.back_home()
63
- },
64
- card (type) {
65
- console.log("type====", type)
66
- this.$goto('read-card-inter',{sellType: type},'self',this.callBack)
67
- }
68
- },
69
- ready () {
70
- this.Sn=this.$PosUtil.Sn
71
- this.hasMachine= this.$PosUtil.posParam.hasMachine
72
- this.hasCardUser =this.$PosUtil.posParam.hasCardUser
73
- this.hasOfflineWrite =this.$PosUtil.posParam.hasOfflineWrite
74
- }
75
-
76
- }
77
- </script>
78
- <style>
79
-
80
- </style>
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
+ }