readmeter-changan 1.0.33 → 1.0.34
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/.idea/ReadMeterClient.iml +9 -0
- package/.idea/workspace.xml +62 -442
- package/.npmignore +7 -0
- package/build/dev-server.js +132 -132
- package/build/webpack.base.conf.js +75 -75
- package/hs_err_pid13284.log +207 -0
- package/package.json +1 -1
- package/package.json.bak +99 -99
- package/src/AndroidPlugin.js +28 -28
- package/src/App.vue +74 -74
- package/src/components/readingmeter/CheckInfo.vue +618 -618
- package/src/components/readingmeter/FinishHandInfo.vue +75 -75
- package/src/components/readingmeter/FinishHandInfocopy.vue +99 -99
- package/src/components/readingmeter/HandInfo.vue +87 -87
- package/src/components/readingmeter/HandMessage.vue +40 -40
- package/src/components/readingmeter/HistoryHandInfo.vue +114 -114
- package/src/components/readingmeter/MeterInfo.vue +183 -183
- package/src/components/readingmeter/PhoneHand.vue +93 -93
- package/src/components/readingmeter/PhoneHandHome.vue +2 -0
- package/src/components/readingmeter/PhoneHandplanInfo.vue +643 -643
- package/src/components/readingmeter/PictureArea.vue +156 -156
- package/src/components/readingmeter/PlanDown.vue +232 -232
- package/src/components/readingmeter/PlanUpdate.vue +186 -186
- package/src/components/readingmeter/ReadMeterCenter.vue +325 -325
- package/src/components/readingmeter/ReadMeterInfo.vue +349 -349
- package/src/components/readingmeter/ReadMeterInfoChangan.vue +1 -1
- package/src/components/readingmeter/SellHistory.vue +36 -36
- package/src/components/readingmeter/SellInfo.vue +88 -88
- package/src/components/readingmeter/UserInfo.vue +1 -0
- package/src/components/server/AppHeader.vue +65 -65
- package/src/components/server/ReadMeterHome.vue +192 -192
- package/src/components/server/ReadMeterLogin.vue +161 -161
- package/src/components/server/ReadMeterNavBottom.vue +119 -119
- package/src/components/server/ReadMeterRoute.vue +79 -79
- package/src/components/server/ReadMeterTop.vue +61 -61
- package/src/components/server/ReadMeterTopcopy.vue +53 -53
- package/src/expandcss.less +668 -668
- package/src/main.js +23 -23
- package/src/readmeter-android.js +34 -34
- package/src/readmeter.js +54 -54
- package/yarn.lock +7818 -0
|
@@ -1,161 +1,161 @@
|
|
|
1
|
-
<style>
|
|
2
|
-
.form-signin {
|
|
3
|
-
max-width: 500px;
|
|
4
|
-
padding: 15px;
|
|
5
|
-
margin: 0 auto;
|
|
6
|
-
}
|
|
7
|
-
.form-signin .form-signin-heading,
|
|
8
|
-
.form-signin .checkbox {
|
|
9
|
-
margin-bottom: 10px;
|
|
10
|
-
}
|
|
11
|
-
.form-signin .checkbox {
|
|
12
|
-
font-weight: normal;
|
|
13
|
-
}
|
|
14
|
-
.form-signin .form-control {
|
|
15
|
-
position: relative;
|
|
16
|
-
height: auto;
|
|
17
|
-
-webkit-box-sizing: border-box;
|
|
18
|
-
-moz-box-sizing: border-box;
|
|
19
|
-
box-sizing: border-box;
|
|
20
|
-
padding: 10px;
|
|
21
|
-
margin: 5px 0px 5px 0px;
|
|
22
|
-
font-size: 16px;
|
|
23
|
-
}
|
|
24
|
-
.form-signin .form-control:focus {
|
|
25
|
-
z-index: 2;
|
|
26
|
-
}
|
|
27
|
-
.form-signin input {
|
|
28
|
-
margin-bottom: -1px;
|
|
29
|
-
border-bottom-right-radius: 0;
|
|
30
|
-
border-bottom-left-radius: 0;
|
|
31
|
-
}
|
|
32
|
-
.form-signin input[type="password"] {
|
|
33
|
-
margin-bottom: 10px;
|
|
34
|
-
border-top-left-radius: 0;
|
|
35
|
-
border-top-right-radius: 0;
|
|
36
|
-
}
|
|
37
|
-
</style>
|
|
38
|
-
|
|
39
|
-
<template>
|
|
40
|
-
<div class="app-bg" style="background: #4C637B;">
|
|
41
|
-
<validator name='v'>
|
|
42
|
-
<form class="form-signin" novalidate @submit.prevent="signIn()">
|
|
43
|
-
<div>
|
|
44
|
-
<!-- <img src="../../assets/logo1.png" class="center-block img-responsive"></img> -->
|
|
45
|
-
</div>
|
|
46
|
-
<h2 class="form-signin-heading text-center" style="color: #fff;">手机抄表系统</h2>
|
|
47
|
-
<h4 class="form-signin-heading text-center" style="color: #fff;">欢迎使用手机抄表系统</h4>
|
|
48
|
-
<!-- <h5 class="form-signin-heading text-center" @click="backupDatabase">当前版本:0.{{version}}</h5> -->
|
|
49
|
-
<input id="ename" style="margin-top: 100px;" class="form-control" placeholder="请输入用户名" autofocus v-model="model.ename" v-validate:ename='{ required: true }' @focus="noPage()" @blur="haspage()">
|
|
50
|
-
<input type="password" id="inputPassword" class="form-control" placeholder="请输入密码" v-model="model.password" v-validate:password='{ required: true }' @focus="noPage()" @blur="haspage()">
|
|
51
|
-
<button class="btn btn-lg btn-danger btn-block" type="submit" style="color: #fff; ">登录</button>
|
|
52
|
-
</form>
|
|
53
|
-
</validator>
|
|
54
|
-
<div class="login-footer login-footer_fixed-bottom" v-if='showversion'>
|
|
55
|
-
<p class="login-footer__links">
|
|
56
|
-
<a href="javascript:home();" class="login-footer__link"></a>
|
|
57
|
-
</p>
|
|
58
|
-
<p class="login-footer__text">Copyright @ v1.0.0 手机抄表</p>
|
|
59
|
-
</div>
|
|
60
|
-
</div>
|
|
61
|
-
</template>
|
|
62
|
-
<script>
|
|
63
|
-
import Vue from 'vue'
|
|
64
|
-
|
|
65
|
-
export default {
|
|
66
|
-
title: '登录系统',
|
|
67
|
-
data () {
|
|
68
|
-
return {
|
|
69
|
-
model: {
|
|
70
|
-
ename: '',
|
|
71
|
-
password: ''
|
|
72
|
-
},
|
|
73
|
-
showversion: true
|
|
74
|
-
}
|
|
75
|
-
},
|
|
76
|
-
methods: {
|
|
77
|
-
noPage () {
|
|
78
|
-
this.showversion = false
|
|
79
|
-
},
|
|
80
|
-
haspage () {
|
|
81
|
-
this.showversion = true
|
|
82
|
-
},
|
|
83
|
-
backupDatabase () {
|
|
84
|
-
HostApp.backupDatabase()
|
|
85
|
-
},
|
|
86
|
-
load () {
|
|
87
|
-
if (this.model.ename === '' || this.model.password === '') {
|
|
88
|
-
HostApp.alert('登录失败, 用户名或密码不能为空!')
|
|
89
|
-
return
|
|
90
|
-
}
|
|
91
|
-
this.$resetpost(Vue.ProxyUrl + '/rs/logic/phonelogin', {data: this.model}, {resolveMsg: null, rejectMsg: null}).then((ret) => {
|
|
92
|
-
console.log(ret.data)
|
|
93
|
-
if (ret.data.state === 0) {
|
|
94
|
-
this.$goto('readmeter-home')
|
|
95
|
-
Vue.user = ret.data.data
|
|
96
|
-
} else {
|
|
97
|
-
HostApp.alert('登录失败 ' + ret.data.msg)
|
|
98
|
-
}
|
|
99
|
-
})
|
|
100
|
-
},
|
|
101
|
-
signIn () {
|
|
102
|
-
this.login = true
|
|
103
|
-
// 模拟手机,定时提取
|
|
104
|
-
|
|
105
|
-
// 获取登录加载数据
|
|
106
|
-
this.load()
|
|
107
|
-
},
|
|
108
|
-
isJSON (str) {
|
|
109
|
-
if (typeof str == 'string') {
|
|
110
|
-
try {
|
|
111
|
-
var obj = JSON.parse(str)
|
|
112
|
-
if (typeof obj == 'object' && obj ) {
|
|
113
|
-
return true
|
|
114
|
-
} else {
|
|
115
|
-
return false
|
|
116
|
-
}
|
|
117
|
-
} catch (e) {
|
|
118
|
-
console.log('error:'+str+'!!!'+e);
|
|
119
|
-
return false
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
console.log('It is not a string!')
|
|
123
|
-
},
|
|
124
|
-
isAndroidDevice() {
|
|
125
|
-
try {
|
|
126
|
-
HostApp
|
|
127
|
-
Vue.AndroidPlugin.isAndroid = true
|
|
128
|
-
Vue.ProxyUrl = Vue.AndroidPlugin.getProxyURL()
|
|
129
|
-
console.log("ProxyUrl---------------->>>>>>>"+Vue.ProxyUrl)
|
|
130
|
-
// Vue.ProxyUrl = 'http://192.168.30.63:8080/'
|
|
131
|
-
} catch (e) {
|
|
132
|
-
console.log("捕获到异常"+e.message)
|
|
133
|
-
Vue.AndroidPlugin.isAndroid = false
|
|
134
|
-
//如果是非安卓环境,config中配置的链接地址肯定是不能用的,所以改成空的即可
|
|
135
|
-
Vue.ProxyUrl = ''
|
|
136
|
-
console.log("ProxyUrl---------------->>>>>>>"+Vue.ProxyUrl)
|
|
137
|
-
}
|
|
138
|
-
},
|
|
139
|
-
},
|
|
140
|
-
ready(){
|
|
141
|
-
this.isAndroidDevice()
|
|
142
|
-
}
|
|
143
|
-
}
|
|
144
|
-
</script>
|
|
145
|
-
<style scoped>
|
|
146
|
-
.login-footer_fixed-bottom {
|
|
147
|
-
height: auto;
|
|
148
|
-
position: fixed;
|
|
149
|
-
bottom: .52em;
|
|
150
|
-
left: 0;
|
|
151
|
-
right: 0;
|
|
152
|
-
}
|
|
153
|
-
.login-footer {
|
|
154
|
-
color: #999;
|
|
155
|
-
font-size: 14px;
|
|
156
|
-
text-align: center;
|
|
157
|
-
}
|
|
158
|
-
.login-footer__link {
|
|
159
|
-
color: #586C94;
|
|
160
|
-
}
|
|
161
|
-
</style>
|
|
1
|
+
<style>
|
|
2
|
+
.form-signin {
|
|
3
|
+
max-width: 500px;
|
|
4
|
+
padding: 15px;
|
|
5
|
+
margin: 0 auto;
|
|
6
|
+
}
|
|
7
|
+
.form-signin .form-signin-heading,
|
|
8
|
+
.form-signin .checkbox {
|
|
9
|
+
margin-bottom: 10px;
|
|
10
|
+
}
|
|
11
|
+
.form-signin .checkbox {
|
|
12
|
+
font-weight: normal;
|
|
13
|
+
}
|
|
14
|
+
.form-signin .form-control {
|
|
15
|
+
position: relative;
|
|
16
|
+
height: auto;
|
|
17
|
+
-webkit-box-sizing: border-box;
|
|
18
|
+
-moz-box-sizing: border-box;
|
|
19
|
+
box-sizing: border-box;
|
|
20
|
+
padding: 10px;
|
|
21
|
+
margin: 5px 0px 5px 0px;
|
|
22
|
+
font-size: 16px;
|
|
23
|
+
}
|
|
24
|
+
.form-signin .form-control:focus {
|
|
25
|
+
z-index: 2;
|
|
26
|
+
}
|
|
27
|
+
.form-signin input {
|
|
28
|
+
margin-bottom: -1px;
|
|
29
|
+
border-bottom-right-radius: 0;
|
|
30
|
+
border-bottom-left-radius: 0;
|
|
31
|
+
}
|
|
32
|
+
.form-signin input[type="password"] {
|
|
33
|
+
margin-bottom: 10px;
|
|
34
|
+
border-top-left-radius: 0;
|
|
35
|
+
border-top-right-radius: 0;
|
|
36
|
+
}
|
|
37
|
+
</style>
|
|
38
|
+
|
|
39
|
+
<template>
|
|
40
|
+
<div class="app-bg" style="background: #4C637B;">
|
|
41
|
+
<validator name='v'>
|
|
42
|
+
<form class="form-signin" novalidate @submit.prevent="signIn()">
|
|
43
|
+
<div>
|
|
44
|
+
<!-- <img src="../../assets/logo1.png" class="center-block img-responsive"></img> -->
|
|
45
|
+
</div>
|
|
46
|
+
<h2 class="form-signin-heading text-center" style="color: #fff;">手机抄表系统</h2>
|
|
47
|
+
<h4 class="form-signin-heading text-center" style="color: #fff;">欢迎使用手机抄表系统</h4>
|
|
48
|
+
<!-- <h5 class="form-signin-heading text-center" @click="backupDatabase">当前版本:0.{{version}}</h5> -->
|
|
49
|
+
<input id="ename" style="margin-top: 100px;" class="form-control" placeholder="请输入用户名" autofocus v-model="model.ename" v-validate:ename='{ required: true }' @focus="noPage()" @blur="haspage()">
|
|
50
|
+
<input type="password" id="inputPassword" class="form-control" placeholder="请输入密码" v-model="model.password" v-validate:password='{ required: true }' @focus="noPage()" @blur="haspage()">
|
|
51
|
+
<button class="btn btn-lg btn-danger btn-block" type="submit" style="color: #fff; ">登录</button>
|
|
52
|
+
</form>
|
|
53
|
+
</validator>
|
|
54
|
+
<div class="login-footer login-footer_fixed-bottom" v-if='showversion'>
|
|
55
|
+
<p class="login-footer__links">
|
|
56
|
+
<a href="javascript:home();" class="login-footer__link"></a>
|
|
57
|
+
</p>
|
|
58
|
+
<p class="login-footer__text">Copyright @ v1.0.0 手机抄表</p>
|
|
59
|
+
</div>
|
|
60
|
+
</div>
|
|
61
|
+
</template>
|
|
62
|
+
<script>
|
|
63
|
+
import Vue from 'vue'
|
|
64
|
+
|
|
65
|
+
export default {
|
|
66
|
+
title: '登录系统',
|
|
67
|
+
data () {
|
|
68
|
+
return {
|
|
69
|
+
model: {
|
|
70
|
+
ename: '',
|
|
71
|
+
password: ''
|
|
72
|
+
},
|
|
73
|
+
showversion: true
|
|
74
|
+
}
|
|
75
|
+
},
|
|
76
|
+
methods: {
|
|
77
|
+
noPage () {
|
|
78
|
+
this.showversion = false
|
|
79
|
+
},
|
|
80
|
+
haspage () {
|
|
81
|
+
this.showversion = true
|
|
82
|
+
},
|
|
83
|
+
backupDatabase () {
|
|
84
|
+
HostApp.backupDatabase()
|
|
85
|
+
},
|
|
86
|
+
load () {
|
|
87
|
+
if (this.model.ename === '' || this.model.password === '') {
|
|
88
|
+
HostApp.alert('登录失败, 用户名或密码不能为空!')
|
|
89
|
+
return
|
|
90
|
+
}
|
|
91
|
+
this.$resetpost(Vue.ProxyUrl + '/rs/logic/phonelogin', {data: this.model}, {resolveMsg: null, rejectMsg: null}).then((ret) => {
|
|
92
|
+
console.log(ret.data)
|
|
93
|
+
if (ret.data.state === 0) {
|
|
94
|
+
this.$goto('readmeter-home')
|
|
95
|
+
Vue.user = ret.data.data
|
|
96
|
+
} else {
|
|
97
|
+
HostApp.alert('登录失败 ' + ret.data.msg)
|
|
98
|
+
}
|
|
99
|
+
})
|
|
100
|
+
},
|
|
101
|
+
signIn () {
|
|
102
|
+
this.login = true
|
|
103
|
+
// 模拟手机,定时提取
|
|
104
|
+
|
|
105
|
+
// 获取登录加载数据
|
|
106
|
+
this.load()
|
|
107
|
+
},
|
|
108
|
+
isJSON (str) {
|
|
109
|
+
if (typeof str == 'string') {
|
|
110
|
+
try {
|
|
111
|
+
var obj = JSON.parse(str)
|
|
112
|
+
if (typeof obj == 'object' && obj ) {
|
|
113
|
+
return true
|
|
114
|
+
} else {
|
|
115
|
+
return false
|
|
116
|
+
}
|
|
117
|
+
} catch (e) {
|
|
118
|
+
console.log('error:'+str+'!!!'+e);
|
|
119
|
+
return false
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
console.log('It is not a string!')
|
|
123
|
+
},
|
|
124
|
+
isAndroidDevice() {
|
|
125
|
+
try {
|
|
126
|
+
HostApp
|
|
127
|
+
Vue.AndroidPlugin.isAndroid = true
|
|
128
|
+
Vue.ProxyUrl = Vue.AndroidPlugin.getProxyURL()
|
|
129
|
+
console.log("ProxyUrl---------------->>>>>>>"+Vue.ProxyUrl)
|
|
130
|
+
// Vue.ProxyUrl = 'http://192.168.30.63:8080/'
|
|
131
|
+
} catch (e) {
|
|
132
|
+
console.log("捕获到异常"+e.message)
|
|
133
|
+
Vue.AndroidPlugin.isAndroid = false
|
|
134
|
+
//如果是非安卓环境,config中配置的链接地址肯定是不能用的,所以改成空的即可
|
|
135
|
+
Vue.ProxyUrl = ''
|
|
136
|
+
console.log("ProxyUrl---------------->>>>>>>"+Vue.ProxyUrl)
|
|
137
|
+
}
|
|
138
|
+
},
|
|
139
|
+
},
|
|
140
|
+
ready(){
|
|
141
|
+
this.isAndroidDevice()
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
</script>
|
|
145
|
+
<style scoped>
|
|
146
|
+
.login-footer_fixed-bottom {
|
|
147
|
+
height: auto;
|
|
148
|
+
position: fixed;
|
|
149
|
+
bottom: .52em;
|
|
150
|
+
left: 0;
|
|
151
|
+
right: 0;
|
|
152
|
+
}
|
|
153
|
+
.login-footer {
|
|
154
|
+
color: #999;
|
|
155
|
+
font-size: 14px;
|
|
156
|
+
text-align: center;
|
|
157
|
+
}
|
|
158
|
+
.login-footer__link {
|
|
159
|
+
color: #586C94;
|
|
160
|
+
}
|
|
161
|
+
</style>
|
|
@@ -1,119 +1,119 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<div class="row nav-bgcolor" >
|
|
3
|
-
<!--<div class="row auto" style="background-color: #4C647A; padding-top: 40px;">-->
|
|
4
|
-
<!--<p class="text-left" style="padding-left: 20px;">-->
|
|
5
|
-
<!--<img src="../../assets/燃气缴费 (2).png" style="width: 60px;border: 2px solid white;border-radius: 4%;" alt="燃气缴费">-->
|
|
6
|
-
<!--<span style="color: white;font-size: 20px;"> 手机抄表系统</span>-->
|
|
7
|
-
<!--<span style="color: white;font-size: 14px;display: block;padding-left: 80px;">-->
|
|
8
|
-
<!--抄表员:{{userInfo.name}} ({{userInfo.id}})-->
|
|
9
|
-
<!--</span>-->
|
|
10
|
-
<!--</p>-->
|
|
11
|
-
<!--</div>-->
|
|
12
|
-
<div class="row auto" style="padding-bottom: 1em">
|
|
13
|
-
<div class="col-xs-4 text-center pageskuang" @click="goPage('计划下载')">
|
|
14
|
-
<img src="../../assets/计划下载.png" class="imgs" alt="">
|
|
15
|
-
<p class="text-center name" style="margin: 10px 0;">计划下载</p>
|
|
16
|
-
</div>
|
|
17
|
-
<div class="col-xs-4 text-center pageskuang" @click="goPage('抄表管理')">
|
|
18
|
-
<img src="../../assets/抄表管理.png" class="imgs" alt="">
|
|
19
|
-
<p class="text-center name" style="margin: 10px 0;">抄表管理</p>
|
|
20
|
-
</div>
|
|
21
|
-
<div class="col-xs-4 text-center pageskuang" @click="goPage('抄表记录')">
|
|
22
|
-
<img src="../../assets/抄表记录.png" class="imgs" alt="">
|
|
23
|
-
<p class="text-center name" style="margin: 10px 0;">抄表记录</p>
|
|
24
|
-
</div>
|
|
25
|
-
<div class="col-xs-4 text-center pageskuang" @click="goPage('表单上传')">
|
|
26
|
-
<img src="../../assets/表单上传.png" class="imgs" alt="">
|
|
27
|
-
<p class="text-center name" style="margin: 10px 0;">表单上传</p>
|
|
28
|
-
</div>
|
|
29
|
-
</div>
|
|
30
|
-
</div>
|
|
31
|
-
</template>
|
|
32
|
-
|
|
33
|
-
<script>
|
|
34
|
-
import AppData from '../../stores/AppData'
|
|
35
|
-
import Vue from 'vue'
|
|
36
|
-
export default {
|
|
37
|
-
title: '底部导航',
|
|
38
|
-
data () {
|
|
39
|
-
return {
|
|
40
|
-
userInfo: {}
|
|
41
|
-
}
|
|
42
|
-
},
|
|
43
|
-
props: {
|
|
44
|
-
menus: {
|
|
45
|
-
type: Array,
|
|
46
|
-
default: function () {
|
|
47
|
-
return [
|
|
48
|
-
{name: '计划下载', imgpath: '../../assets/下载 (2).png'},
|
|
49
|
-
{name: '抄表管理', imgpath: '../../assets/报表.png'},
|
|
50
|
-
{name: '抄表记录', imgpath: '../../assets/历史 (2).png'},
|
|
51
|
-
{name: '表单上传', imgpath: '../../assets/上传 (4).png'}
|
|
52
|
-
]
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
},
|
|
56
|
-
ready () {
|
|
57
|
-
console.log()
|
|
58
|
-
this.userInfo = Object.assign({}, this.userInfo, Vue.user)
|
|
59
|
-
},
|
|
60
|
-
methods: {
|
|
61
|
-
goPage (page) {
|
|
62
|
-
this.$dispatch('menu', page)
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
</script>
|
|
67
|
-
<style>
|
|
68
|
-
.plan {
|
|
69
|
-
border-bottom: 0.5px solid #EAEAEA;
|
|
70
|
-
border-right: 0.5px solid #EAEAEA;
|
|
71
|
-
height: 120px;
|
|
72
|
-
}
|
|
73
|
-
.meter{
|
|
74
|
-
border-bottom: 0.5px solid #EAEAEA;
|
|
75
|
-
border-right: 0.5px solid #EAEAEA;
|
|
76
|
-
border-left: 0.5px solid #EAEAEA;
|
|
77
|
-
height: 120px;
|
|
78
|
-
}
|
|
79
|
-
.info{
|
|
80
|
-
border-bottom: 0.5px solid #EAEAEA;
|
|
81
|
-
border-left: 0.5px solid #EAEAEA;
|
|
82
|
-
height: 120px;
|
|
83
|
-
}
|
|
84
|
-
.upload{
|
|
85
|
-
border-top: 0.5px solid #EAEAEA;
|
|
86
|
-
border-right: 0.5px solid #EAEAEA;
|
|
87
|
-
height: 120px;
|
|
88
|
-
}
|
|
89
|
-
.space1{
|
|
90
|
-
border-top: 0.5px solid #EAEAEA;
|
|
91
|
-
border-right: 0.5px solid #EAEAEA;
|
|
92
|
-
border-left: 0.5px solid #EAEAEA;
|
|
93
|
-
height: 120px;
|
|
94
|
-
}
|
|
95
|
-
.space2{
|
|
96
|
-
border-top: 0.5px solid #EAEAEA;
|
|
97
|
-
border-left: 0.5px solid #EAEAEA;
|
|
98
|
-
height: 120px;
|
|
99
|
-
}
|
|
100
|
-
.pageskuang{
|
|
101
|
-
vertical-align:middle;
|
|
102
|
-
display:table-cell;
|
|
103
|
-
width: 32%;
|
|
104
|
-
top:-50%;
|
|
105
|
-
margin-top: 1%;
|
|
106
|
-
margin-left: 1%;
|
|
107
|
-
border:1px solid #e3e3e3;
|
|
108
|
-
text-align: center;
|
|
109
|
-
background-color: #ffffff;
|
|
110
|
-
}
|
|
111
|
-
.name{
|
|
112
|
-
font: 15px PingFang-SC-Medium;
|
|
113
|
-
color: #666666;
|
|
114
|
-
}
|
|
115
|
-
.imgs{
|
|
116
|
-
width: 60px;
|
|
117
|
-
margin-top: 15px;
|
|
118
|
-
}
|
|
119
|
-
</style>
|
|
1
|
+
<template>
|
|
2
|
+
<div class="row nav-bgcolor" >
|
|
3
|
+
<!--<div class="row auto" style="background-color: #4C647A; padding-top: 40px;">-->
|
|
4
|
+
<!--<p class="text-left" style="padding-left: 20px;">-->
|
|
5
|
+
<!--<img src="../../assets/燃气缴费 (2).png" style="width: 60px;border: 2px solid white;border-radius: 4%;" alt="燃气缴费">-->
|
|
6
|
+
<!--<span style="color: white;font-size: 20px;"> 手机抄表系统</span>-->
|
|
7
|
+
<!--<span style="color: white;font-size: 14px;display: block;padding-left: 80px;">-->
|
|
8
|
+
<!--抄表员:{{userInfo.name}} ({{userInfo.id}})-->
|
|
9
|
+
<!--</span>-->
|
|
10
|
+
<!--</p>-->
|
|
11
|
+
<!--</div>-->
|
|
12
|
+
<div class="row auto" style="padding-bottom: 1em">
|
|
13
|
+
<div class="col-xs-4 text-center pageskuang" @click="goPage('计划下载')">
|
|
14
|
+
<img src="../../assets/计划下载.png" class="imgs" alt="">
|
|
15
|
+
<p class="text-center name" style="margin: 10px 0;">计划下载</p>
|
|
16
|
+
</div>
|
|
17
|
+
<div class="col-xs-4 text-center pageskuang" @click="goPage('抄表管理')">
|
|
18
|
+
<img src="../../assets/抄表管理.png" class="imgs" alt="">
|
|
19
|
+
<p class="text-center name" style="margin: 10px 0;">抄表管理</p>
|
|
20
|
+
</div>
|
|
21
|
+
<div class="col-xs-4 text-center pageskuang" @click="goPage('抄表记录')">
|
|
22
|
+
<img src="../../assets/抄表记录.png" class="imgs" alt="">
|
|
23
|
+
<p class="text-center name" style="margin: 10px 0;">抄表记录</p>
|
|
24
|
+
</div>
|
|
25
|
+
<div class="col-xs-4 text-center pageskuang" @click="goPage('表单上传')">
|
|
26
|
+
<img src="../../assets/表单上传.png" class="imgs" alt="">
|
|
27
|
+
<p class="text-center name" style="margin: 10px 0;">表单上传</p>
|
|
28
|
+
</div>
|
|
29
|
+
</div>
|
|
30
|
+
</div>
|
|
31
|
+
</template>
|
|
32
|
+
|
|
33
|
+
<script>
|
|
34
|
+
import AppData from '../../stores/AppData'
|
|
35
|
+
import Vue from 'vue'
|
|
36
|
+
export default {
|
|
37
|
+
title: '底部导航',
|
|
38
|
+
data () {
|
|
39
|
+
return {
|
|
40
|
+
userInfo: {}
|
|
41
|
+
}
|
|
42
|
+
},
|
|
43
|
+
props: {
|
|
44
|
+
menus: {
|
|
45
|
+
type: Array,
|
|
46
|
+
default: function () {
|
|
47
|
+
return [
|
|
48
|
+
{name: '计划下载', imgpath: '../../assets/下载 (2).png'},
|
|
49
|
+
{name: '抄表管理', imgpath: '../../assets/报表.png'},
|
|
50
|
+
{name: '抄表记录', imgpath: '../../assets/历史 (2).png'},
|
|
51
|
+
{name: '表单上传', imgpath: '../../assets/上传 (4).png'}
|
|
52
|
+
]
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
},
|
|
56
|
+
ready () {
|
|
57
|
+
console.log()
|
|
58
|
+
this.userInfo = Object.assign({}, this.userInfo, Vue.user)
|
|
59
|
+
},
|
|
60
|
+
methods: {
|
|
61
|
+
goPage (page) {
|
|
62
|
+
this.$dispatch('menu', page)
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
</script>
|
|
67
|
+
<style>
|
|
68
|
+
.plan {
|
|
69
|
+
border-bottom: 0.5px solid #EAEAEA;
|
|
70
|
+
border-right: 0.5px solid #EAEAEA;
|
|
71
|
+
height: 120px;
|
|
72
|
+
}
|
|
73
|
+
.meter{
|
|
74
|
+
border-bottom: 0.5px solid #EAEAEA;
|
|
75
|
+
border-right: 0.5px solid #EAEAEA;
|
|
76
|
+
border-left: 0.5px solid #EAEAEA;
|
|
77
|
+
height: 120px;
|
|
78
|
+
}
|
|
79
|
+
.info{
|
|
80
|
+
border-bottom: 0.5px solid #EAEAEA;
|
|
81
|
+
border-left: 0.5px solid #EAEAEA;
|
|
82
|
+
height: 120px;
|
|
83
|
+
}
|
|
84
|
+
.upload{
|
|
85
|
+
border-top: 0.5px solid #EAEAEA;
|
|
86
|
+
border-right: 0.5px solid #EAEAEA;
|
|
87
|
+
height: 120px;
|
|
88
|
+
}
|
|
89
|
+
.space1{
|
|
90
|
+
border-top: 0.5px solid #EAEAEA;
|
|
91
|
+
border-right: 0.5px solid #EAEAEA;
|
|
92
|
+
border-left: 0.5px solid #EAEAEA;
|
|
93
|
+
height: 120px;
|
|
94
|
+
}
|
|
95
|
+
.space2{
|
|
96
|
+
border-top: 0.5px solid #EAEAEA;
|
|
97
|
+
border-left: 0.5px solid #EAEAEA;
|
|
98
|
+
height: 120px;
|
|
99
|
+
}
|
|
100
|
+
.pageskuang{
|
|
101
|
+
vertical-align:middle;
|
|
102
|
+
display:table-cell;
|
|
103
|
+
width: 32%;
|
|
104
|
+
top:-50%;
|
|
105
|
+
margin-top: 1%;
|
|
106
|
+
margin-left: 1%;
|
|
107
|
+
border:1px solid #e3e3e3;
|
|
108
|
+
text-align: center;
|
|
109
|
+
background-color: #ffffff;
|
|
110
|
+
}
|
|
111
|
+
.name{
|
|
112
|
+
font: 15px PingFang-SC-Medium;
|
|
113
|
+
color: #666666;
|
|
114
|
+
}
|
|
115
|
+
.imgs{
|
|
116
|
+
width: 60px;
|
|
117
|
+
margin-top: 15px;
|
|
118
|
+
}
|
|
119
|
+
</style>
|