system-phone 3.1.9 → 3.1.10
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/package.json +1 -1
- package/src/assets//345/205/266/344/273/226/346/224/266/350/264/271.png +0 -0
- package/src/assets//345/205/266/344/273/226/346/224/266/350/264/271/346/212/245/350/241/250.png +0 -0
- package/src/assets//345/206/214/345/206/205/346/216/222/345/272/217/344/277/256/346/224/271.png +0 -0
- package/src/assets//345/256/211/346/243/200/346/203/205/345/206/265/346/237/245/347/234/213.png +0 -0
- package/src/assets//346/212/245/345/273/272/344/270/232/345/212/241.png +0 -0
- package/src/assets//346/212/245/345/273/272/346/224/266/350/264/271/346/237/245/350/257/242.png +0 -0
- package/src/components/info/FindUserInfo.vue +168 -168
- package/src/filiale/liaoyuan/NavBottomVVV.vue +186 -186
- package/src/filiale/liaoyuan/ToolsPage.vue +199 -199
- package/src/filiale/liaoyuan/systemphonegrid.js +5 -5
package/package.json
CHANGED
|
Binary file
|
package/src/assets//345/205/266/344/273/226/346/224/266/350/264/271/346/212/245/350/241/250.png
ADDED
|
Binary file
|
package/src/assets//345/206/214/345/206/205/346/216/222/345/272/217/344/277/256/346/224/271.png
ADDED
|
Binary file
|
package/src/assets//345/256/211/346/243/200/346/203/205/345/206/265/346/237/245/347/234/213.png
ADDED
|
Binary file
|
|
Binary file
|
package/src/assets//346/212/245/345/273/272/346/224/266/350/264/271/346/237/245/350/257/242.png
ADDED
|
Binary file
|
|
@@ -1,168 +1,168 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<!-- <div class="app-botton" @click="back()" v-if="show">-->
|
|
3
|
-
<!-- <span class="glyphicon glyphicon-menu-left">返回</span>-->
|
|
4
|
-
<!-- </div>-->
|
|
5
|
-
<div class="select-overspread auto" style="padding-bottom:5px;">
|
|
6
|
-
<div class="auto repair-info-content compatible">
|
|
7
|
-
<div class="row" style="display: flex;align-items: center">
|
|
8
|
-
<div class="col-xs-3 col-sm-3 col-md-3 form-input-group">
|
|
9
|
-
模糊查询:
|
|
10
|
-
</div>
|
|
11
|
-
<div class="col-xs-9 col-sm-9 col-md-9 form-input-group mg8">
|
|
12
|
-
<input type="text" class="form-control" v-model="model.f_userinfo" placeholder='模糊查询'>
|
|
13
|
-
</div>
|
|
14
|
-
</div>
|
|
15
|
-
<div class="row" style="display: flex;align-items: center">
|
|
16
|
-
<div class="col-xs-3 col-sm-3 col-md-3 form-input-group">
|
|
17
|
-
用户编号:
|
|
18
|
-
</div>
|
|
19
|
-
<div class="col-xs-9 col-sm-9 col-md-9 form-input-group mg8">
|
|
20
|
-
<input type="text" class="form-control" v-model="model.f_userid" placeholder='用户编号'>
|
|
21
|
-
</div>
|
|
22
|
-
</div>
|
|
23
|
-
<div class="row" style="display: flex;align-items: center">
|
|
24
|
-
<div class="col-xs-3 col-sm-3 col-md-3 form-input-group">
|
|
25
|
-
用户姓名:
|
|
26
|
-
</div>
|
|
27
|
-
<div class="col-xs-9 col-sm-9 col-md-9 form-input-group mg8">
|
|
28
|
-
<input type="text" class="form-control" v-model="model.f_username" placeholder='用户姓名'>
|
|
29
|
-
</div>
|
|
30
|
-
</div>
|
|
31
|
-
<div class="row" style="display: flex;align-items: center">
|
|
32
|
-
<div class="col-xs-3 col-sm-3 col-md-3 form-input-group">
|
|
33
|
-
用户地址:
|
|
34
|
-
</div>
|
|
35
|
-
<div class="col-xs-9 col-sm-9 col-md-9 form-input-group mg8">
|
|
36
|
-
<input type="text" class="form-control" v-model="model.f_address" placeholder='用户地址'>
|
|
37
|
-
</div>
|
|
38
|
-
</div>
|
|
39
|
-
<div class="row" style="text-align: center;margin-top: 30px;margin-bottom: 30px" >
|
|
40
|
-
<button style="width: 70%" type="button" name="button" class="btn btn-primary" @click="search()">查询</button>
|
|
41
|
-
<!-- <button type="button" name="button" class="btn btn-primary pull-right" @click="read()">读卡</button>-->
|
|
42
|
-
</div>
|
|
43
|
-
</div>
|
|
44
|
-
<div partial class="panel panel-default well" style="padding: 0px;background-color:#ffffff;" v-for="row in users">
|
|
45
|
-
<div class="panel-body inbg" @click="selectUser(row)">
|
|
46
|
-
<div class="row auto" >
|
|
47
|
-
<div class="col-sm-4">
|
|
48
|
-
用户编号: {{row.f_userinfo_code}}
|
|
49
|
-
</div>
|
|
50
|
-
<div class="col-sm-4">
|
|
51
|
-
用户姓名: {{row.f_user_name}}
|
|
52
|
-
</div>
|
|
53
|
-
<div class="col-sm-4">
|
|
54
|
-
用户电话: {{row.f_user_phone}}
|
|
55
|
-
</div>
|
|
56
|
-
<div class="col-sm-3">
|
|
57
|
-
用户类别: {{row.f_user_type}}
|
|
58
|
-
</div>
|
|
59
|
-
<div class="col-sm-9">
|
|
60
|
-
地址信息: {{row.f_address}}
|
|
61
|
-
</div>
|
|
62
|
-
<div class="col-sm-6">
|
|
63
|
-
表底数: {{row.f_meter_base}}
|
|
64
|
-
</div>
|
|
65
|
-
<div class="col-sm-6">
|
|
66
|
-
表上余额: {{row.f_balance_amount}}
|
|
67
|
-
</div>
|
|
68
|
-
</div>
|
|
69
|
-
</div>
|
|
70
|
-
</div>
|
|
71
|
-
</div>
|
|
72
|
-
<!-- <phone-info-table :user="user" :is-need-condition="false" :is-group="false" v-if="show"></phone-info-table>-->
|
|
73
|
-
</template>
|
|
74
|
-
|
|
75
|
-
<script>
|
|
76
|
-
import Vue from 'vue'
|
|
77
|
-
import { HttpResetClass } from 'vue-client'
|
|
78
|
-
export default {
|
|
79
|
-
title: '移动端用户信息查询',
|
|
80
|
-
props: {
|
|
81
|
-
|
|
82
|
-
},
|
|
83
|
-
data () {
|
|
84
|
-
return {
|
|
85
|
-
users:[],
|
|
86
|
-
model:{
|
|
87
|
-
f_userid:'',
|
|
88
|
-
f_username:'',
|
|
89
|
-
f_address:''
|
|
90
|
-
},
|
|
91
|
-
user:'',
|
|
92
|
-
show:false
|
|
93
|
-
}
|
|
94
|
-
},
|
|
95
|
-
methods: {
|
|
96
|
-
search() {
|
|
97
|
-
// console.log("Vue.user",Vue.user)
|
|
98
|
-
this.model.f_userid ? this.model.f_userid : '1=1'
|
|
99
|
-
let condition = `ti.f_orgid = '${Vue.user.orgid}'`
|
|
100
|
-
condition += this.model.f_userid ? ` and ti.f_userinfo_code = '${this.model.f_userid}'` : ' and 1=1'
|
|
101
|
-
condition += this.model.f_username ? ` and ti.f_user_name like '%${this.model.f_username}%'` : ' and 1=1'
|
|
102
|
-
condition += this.model.f_address ? ` and tua.f_address like '%${this.model.f_address}%'` : ' and 1=1'
|
|
103
|
-
if (this.model.f_userinfo){
|
|
104
|
-
condition += ` and (ti.f_userinfo_code like '%${this.model.f_userinfo}%' or ti.f_user_name like '%${this.model.f_userinfo}%' or ti.f_user_phone like '%${this.model.f_userinfo}%' or f_meternumber like '%${this.model.f_userinfo}%' or tua.f_address like '%${this.model.f_userinfo}%')`
|
|
105
|
-
}
|
|
106
|
-
console.log(condition)
|
|
107
|
-
this.$resetpost(`${this.$androidUtil.getProxyUrl()}/rs/sql/tel_UserInfo`, {
|
|
108
|
-
data: {
|
|
109
|
-
condition:condition
|
|
110
|
-
}
|
|
111
|
-
},{rejectMsg:null,resolveMsg:null}).then((res) => {
|
|
112
|
-
console.log("查找用户返回的结果")
|
|
113
|
-
console.log(res.data)
|
|
114
|
-
this.users = res.data
|
|
115
|
-
})
|
|
116
|
-
},
|
|
117
|
-
selectUser(row){
|
|
118
|
-
this.user = row
|
|
119
|
-
var prpdata = {
|
|
120
|
-
_this:this,
|
|
121
|
-
title:"用户信息",
|
|
122
|
-
safe:false
|
|
123
|
-
}
|
|
124
|
-
this.$dispatch('gotoson',prpdata)
|
|
125
|
-
this.$goto('info-table',{user:row,},'self')
|
|
126
|
-
},
|
|
127
|
-
back(){
|
|
128
|
-
this.show = false
|
|
129
|
-
},
|
|
130
|
-
read(){
|
|
131
|
-
// 读卡
|
|
132
|
-
let res = HostApp.read()
|
|
133
|
-
if(res.code == 200){
|
|
134
|
-
let cardid = res.msg.CardID
|
|
135
|
-
let condition1 = `tf.f_card_id = '${cardid}'`
|
|
136
|
-
this.$resetpost(`${this.$androidUtil.getProxyUrl()}/rs/sql/tel_UserInfo`, {
|
|
137
|
-
data: {
|
|
138
|
-
condition:condition1
|
|
139
|
-
}
|
|
140
|
-
}).then((res) => {
|
|
141
|
-
console.log("查找用户返回的结果")
|
|
142
|
-
console.log(res.data)
|
|
143
|
-
this.users = res.data
|
|
144
|
-
})
|
|
145
|
-
}else{
|
|
146
|
-
HostApp.alert('读卡异常,请检查读卡设备!')
|
|
147
|
-
}
|
|
148
|
-
}
|
|
149
|
-
},
|
|
150
|
-
ready(){
|
|
151
|
-
}
|
|
152
|
-
}
|
|
153
|
-
</script>
|
|
154
|
-
<style>
|
|
155
|
-
.app-botton {
|
|
156
|
-
position:fixed;
|
|
157
|
-
background: #87b2dd;
|
|
158
|
-
color: #FFF;
|
|
159
|
-
padding: 8px;
|
|
160
|
-
text-align: center;
|
|
161
|
-
font-size: 1.2em;
|
|
162
|
-
z-index: 10;
|
|
163
|
-
opacity:0.5;
|
|
164
|
-
bottom: 50px;
|
|
165
|
-
margin-top: -10px;
|
|
166
|
-
height: 40px;
|
|
167
|
-
}
|
|
168
|
-
</style>
|
|
1
|
+
<template>
|
|
2
|
+
<!-- <div class="app-botton" @click="back()" v-if="show">-->
|
|
3
|
+
<!-- <span class="glyphicon glyphicon-menu-left">返回</span>-->
|
|
4
|
+
<!-- </div>-->
|
|
5
|
+
<div class="select-overspread auto" style="padding-bottom:5px;">
|
|
6
|
+
<div class="auto repair-info-content compatible">
|
|
7
|
+
<div class="row" style="display: flex;align-items: center">
|
|
8
|
+
<div class="col-xs-3 col-sm-3 col-md-3 form-input-group">
|
|
9
|
+
模糊查询:
|
|
10
|
+
</div>
|
|
11
|
+
<div class="col-xs-9 col-sm-9 col-md-9 form-input-group mg8">
|
|
12
|
+
<input type="text" class="form-control" v-model="model.f_userinfo" placeholder='模糊查询'>
|
|
13
|
+
</div>
|
|
14
|
+
</div>
|
|
15
|
+
<div class="row" style="display: flex;align-items: center">
|
|
16
|
+
<div class="col-xs-3 col-sm-3 col-md-3 form-input-group">
|
|
17
|
+
用户编号:
|
|
18
|
+
</div>
|
|
19
|
+
<div class="col-xs-9 col-sm-9 col-md-9 form-input-group mg8">
|
|
20
|
+
<input type="text" class="form-control" v-model="model.f_userid" placeholder='用户编号'>
|
|
21
|
+
</div>
|
|
22
|
+
</div>
|
|
23
|
+
<div class="row" style="display: flex;align-items: center">
|
|
24
|
+
<div class="col-xs-3 col-sm-3 col-md-3 form-input-group">
|
|
25
|
+
用户姓名:
|
|
26
|
+
</div>
|
|
27
|
+
<div class="col-xs-9 col-sm-9 col-md-9 form-input-group mg8">
|
|
28
|
+
<input type="text" class="form-control" v-model="model.f_username" placeholder='用户姓名'>
|
|
29
|
+
</div>
|
|
30
|
+
</div>
|
|
31
|
+
<div class="row" style="display: flex;align-items: center">
|
|
32
|
+
<div class="col-xs-3 col-sm-3 col-md-3 form-input-group">
|
|
33
|
+
用户地址:
|
|
34
|
+
</div>
|
|
35
|
+
<div class="col-xs-9 col-sm-9 col-md-9 form-input-group mg8">
|
|
36
|
+
<input type="text" class="form-control" v-model="model.f_address" placeholder='用户地址'>
|
|
37
|
+
</div>
|
|
38
|
+
</div>
|
|
39
|
+
<div class="row" style="text-align: center;margin-top: 30px;margin-bottom: 30px" >
|
|
40
|
+
<button style="width: 70%" type="button" name="button" class="btn btn-primary" @click="search()">查询</button>
|
|
41
|
+
<!-- <button type="button" name="button" class="btn btn-primary pull-right" @click="read()">读卡</button>-->
|
|
42
|
+
</div>
|
|
43
|
+
</div>
|
|
44
|
+
<div partial class="panel panel-default well" style="padding: 0px;background-color:#ffffff;" v-for="row in users">
|
|
45
|
+
<div class="panel-body inbg" @click="selectUser(row)">
|
|
46
|
+
<div class="row auto" >
|
|
47
|
+
<div class="col-sm-4">
|
|
48
|
+
用户编号: {{row.f_userinfo_code}}
|
|
49
|
+
</div>
|
|
50
|
+
<div class="col-sm-4">
|
|
51
|
+
用户姓名: {{row.f_user_name}}
|
|
52
|
+
</div>
|
|
53
|
+
<div class="col-sm-4">
|
|
54
|
+
用户电话: {{row.f_user_phone}}
|
|
55
|
+
</div>
|
|
56
|
+
<div class="col-sm-3">
|
|
57
|
+
用户类别: {{row.f_user_type}}
|
|
58
|
+
</div>
|
|
59
|
+
<div class="col-sm-9">
|
|
60
|
+
地址信息: {{row.f_address}}
|
|
61
|
+
</div>
|
|
62
|
+
<div class="col-sm-6">
|
|
63
|
+
表底数: {{row.f_meter_base}}
|
|
64
|
+
</div>
|
|
65
|
+
<div class="col-sm-6">
|
|
66
|
+
表上余额: {{row.f_balance_amount}}
|
|
67
|
+
</div>
|
|
68
|
+
</div>
|
|
69
|
+
</div>
|
|
70
|
+
</div>
|
|
71
|
+
</div>
|
|
72
|
+
<!-- <phone-info-table :user="user" :is-need-condition="false" :is-group="false" v-if="show"></phone-info-table>-->
|
|
73
|
+
</template>
|
|
74
|
+
|
|
75
|
+
<script>
|
|
76
|
+
import Vue from 'vue'
|
|
77
|
+
import { HttpResetClass } from 'vue-client'
|
|
78
|
+
export default {
|
|
79
|
+
title: '移动端用户信息查询',
|
|
80
|
+
props: {
|
|
81
|
+
|
|
82
|
+
},
|
|
83
|
+
data () {
|
|
84
|
+
return {
|
|
85
|
+
users:[],
|
|
86
|
+
model:{
|
|
87
|
+
f_userid:'',
|
|
88
|
+
f_username:'',
|
|
89
|
+
f_address:''
|
|
90
|
+
},
|
|
91
|
+
user:'',
|
|
92
|
+
show:false
|
|
93
|
+
}
|
|
94
|
+
},
|
|
95
|
+
methods: {
|
|
96
|
+
search() {
|
|
97
|
+
// console.log("Vue.user",Vue.user)
|
|
98
|
+
this.model.f_userid ? this.model.f_userid : '1=1'
|
|
99
|
+
let condition = `ti.f_orgid = '${Vue.user.orgid}'`
|
|
100
|
+
condition += this.model.f_userid ? ` and ti.f_userinfo_code = '${this.model.f_userid}'` : ' and 1=1'
|
|
101
|
+
condition += this.model.f_username ? ` and ti.f_user_name like '%${this.model.f_username}%'` : ' and 1=1'
|
|
102
|
+
condition += this.model.f_address ? ` and tua.f_address like '%${this.model.f_address}%'` : ' and 1=1'
|
|
103
|
+
if (this.model.f_userinfo){
|
|
104
|
+
condition += ` and (ti.f_userinfo_code like '%${this.model.f_userinfo}%' or ti.f_user_name like '%${this.model.f_userinfo}%' or ti.f_user_phone like '%${this.model.f_userinfo}%' or f_meternumber like '%${this.model.f_userinfo}%' or tua.f_address like '%${this.model.f_userinfo}%')`
|
|
105
|
+
}
|
|
106
|
+
console.log(condition)
|
|
107
|
+
this.$resetpost(`${this.$androidUtil.getProxyUrl()}/rs/sql/tel_UserInfo`, {
|
|
108
|
+
data: {
|
|
109
|
+
condition:condition
|
|
110
|
+
}
|
|
111
|
+
},{rejectMsg:null,resolveMsg:null}).then((res) => {
|
|
112
|
+
console.log("查找用户返回的结果")
|
|
113
|
+
console.log(res.data)
|
|
114
|
+
this.users = res.data
|
|
115
|
+
})
|
|
116
|
+
},
|
|
117
|
+
selectUser(row){
|
|
118
|
+
this.user = row
|
|
119
|
+
var prpdata = {
|
|
120
|
+
_this:this,
|
|
121
|
+
title:"用户信息",
|
|
122
|
+
safe:false
|
|
123
|
+
}
|
|
124
|
+
this.$dispatch('gotoson',prpdata)
|
|
125
|
+
this.$goto('info-table',{user:row,},'self')
|
|
126
|
+
},
|
|
127
|
+
back(){
|
|
128
|
+
this.show = false
|
|
129
|
+
},
|
|
130
|
+
read(){
|
|
131
|
+
// 读卡
|
|
132
|
+
let res = HostApp.read()
|
|
133
|
+
if(res.code == 200){
|
|
134
|
+
let cardid = res.msg.CardID
|
|
135
|
+
let condition1 = `tf.f_card_id = '${cardid}'`
|
|
136
|
+
this.$resetpost(`${this.$androidUtil.getProxyUrl()}/rs/sql/tel_UserInfo`, {
|
|
137
|
+
data: {
|
|
138
|
+
condition:condition1
|
|
139
|
+
}
|
|
140
|
+
}).then((res) => {
|
|
141
|
+
console.log("查找用户返回的结果")
|
|
142
|
+
console.log(res.data)
|
|
143
|
+
this.users = res.data
|
|
144
|
+
})
|
|
145
|
+
}else{
|
|
146
|
+
HostApp.alert('读卡异常,请检查读卡设备!')
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
},
|
|
150
|
+
ready(){
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
</script>
|
|
154
|
+
<style>
|
|
155
|
+
.app-botton {
|
|
156
|
+
position:fixed;
|
|
157
|
+
background: #87b2dd;
|
|
158
|
+
color: #FFF;
|
|
159
|
+
padding: 8px;
|
|
160
|
+
text-align: center;
|
|
161
|
+
font-size: 1.2em;
|
|
162
|
+
z-index: 10;
|
|
163
|
+
opacity:0.5;
|
|
164
|
+
bottom: 50px;
|
|
165
|
+
margin-top: -10px;
|
|
166
|
+
height: 40px;
|
|
167
|
+
}
|
|
168
|
+
</style>
|
|
@@ -1,186 +1,186 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<div style="height: 5%;background-color: #499edf;"></div>
|
|
3
|
-
<div style="height: 7%">
|
|
4
|
-
<tools-page :need-back="!isMenu" :title="titleName" @back="back('返回')" > </tools-page>
|
|
5
|
-
</div>
|
|
6
|
-
<div id="app" :class="{'auto':isMenu,'app-height':!isMenu}">
|
|
7
|
-
<div class="row" :style="isMenu?'overflow-y: scroll;overflow-x: hidden;height:80vh':'overflow-y: scroll;overflow-x: hidden;'">
|
|
8
|
-
<route v-ref:route> </route>
|
|
9
|
-
</div>
|
|
10
|
-
<tab-bar @select-item="onClickTabBarItem" v-show="isMenu">
|
|
11
|
-
</tab-bar>
|
|
12
|
-
</div>
|
|
13
|
-
<modal v-if="showFile" :show.sync="showFile" v-ref:modal :backdrop="false" title="业务提醒">
|
|
14
|
-
<header slot="modal-header" class="modal-header">
|
|
15
|
-
<h4 class="modal-title">业务提醒</h4>
|
|
16
|
-
</header>
|
|
17
|
-
<article slot="modal-body" class="modal-body">
|
|
18
|
-
<div class="form-group" style="text-align: center">
|
|
19
|
-
安检代办:{{result.safe[0].safenum}}条,其中预约单{{result.safeorder[0].safeyuyuenum}}条 <br/>
|
|
20
|
-
维修代办:{{result.tel[0].telnum}}条,其中预约单{{result.telorder[0].telyuyuenum}}条<br/>
|
|
21
|
-
报建代办:{{result.apply[0].applynum}}条,其中预约单{{result.applyorder[0].applyyuyuenum}}条<br/>
|
|
22
|
-
</div>
|
|
23
|
-
</article>
|
|
24
|
-
<footer slot="modal-footer" class="modal-footer">
|
|
25
|
-
<button type="button" @click="closeFile" style="background-color: limegreen;color: white">确定</button>
|
|
26
|
-
</footer>
|
|
27
|
-
</modal>
|
|
28
|
-
</template>
|
|
29
|
-
|
|
30
|
-
<script>
|
|
31
|
-
|
|
32
|
-
import {HttpResetClass} from "vue-client";
|
|
33
|
-
import Vue from 'vue'
|
|
34
|
-
export default {
|
|
35
|
-
title: 'app',
|
|
36
|
-
data: function () {
|
|
37
|
-
return {
|
|
38
|
-
item: 0,
|
|
39
|
-
isMenu:true,
|
|
40
|
-
beforeName:'主界面',
|
|
41
|
-
titleName:'待办工作',
|
|
42
|
-
backthis:'',
|
|
43
|
-
safe:false,
|
|
44
|
-
showFile:false,
|
|
45
|
-
beforetabs:[],
|
|
46
|
-
iftabbar:'',
|
|
47
|
-
result:[]
|
|
48
|
-
}
|
|
49
|
-
},
|
|
50
|
-
ready(){
|
|
51
|
-
let zhi=this.$appdata.getSingleValue('是否开启代办提醒')
|
|
52
|
-
if(zhi=='是'){
|
|
53
|
-
console.log("99999",Vue.user)
|
|
54
|
-
new HttpResetClass().load('post',`${this.$androidUtil.getProxyUrl()}/rs/logic/getModuleUpcoming`,{
|
|
55
|
-
id:Vue.user.id,
|
|
56
|
-
name:Vue.user.name,
|
|
57
|
-
orgid:Vue.user.orgid
|
|
58
|
-
}).then(res=>{
|
|
59
|
-
console.log("888888===>"+JSON.stringify(res.data))
|
|
60
|
-
this.result = res.data
|
|
61
|
-
this.showFile=true
|
|
62
|
-
// this.$showMessage(`你有${result.safe[0].safenum}条需要处理的安检待办业务,<br/>
|
|
63
|
-
// ${result.safeorder[0].safeyuyuenum}条需要处理的安检预约业务,<br/>
|
|
64
|
-
// ${result.tel[0].telnum}条需要处理的维修待办业务,<br/>
|
|
65
|
-
// ${result.telorder[0].telyuyuenum}条需要处理的维修预约业务,<br/>
|
|
66
|
-
// ${result.applyorder[0].applyyuyuenum}条需要处理的报建预约业务,<br/>
|
|
67
|
-
// ${result.apply[0].applynum}条需要处理的报建待办业务`)
|
|
68
|
-
})
|
|
69
|
-
}
|
|
70
|
-
},
|
|
71
|
-
methods: {
|
|
72
|
-
closeFile(){
|
|
73
|
-
this.showFile=false
|
|
74
|
-
},
|
|
75
|
-
back (flag){
|
|
76
|
-
if(this.safe && flag == '返回' ){
|
|
77
|
-
this.$showMessage('此返回所录入内容将无法找回!', ['confirm', 'cancel']).then((res) => {
|
|
78
|
-
if (res === 'confirm') {
|
|
79
|
-
//this.safe = false 返回父页面后不能修改父级页面定义的 是否返回提示
|
|
80
|
-
this.delback()
|
|
81
|
-
this.backthis.$back()
|
|
82
|
-
this.closeAndDelAudio()
|
|
83
|
-
}
|
|
84
|
-
})
|
|
85
|
-
}else{
|
|
86
|
-
this.delback()
|
|
87
|
-
//this.safe = false 返回父页面后不能修改父级页面定义的 是否返回提示
|
|
88
|
-
this.backthis.$back()
|
|
89
|
-
}
|
|
90
|
-
},
|
|
91
|
-
delback(){
|
|
92
|
-
// 先确认出 前一个组件的名字
|
|
93
|
-
var title = this.beforeName
|
|
94
|
-
var beforetitle = '主界面'
|
|
95
|
-
var j = -1
|
|
96
|
-
for(var i = 0;i<this.beforetabs.length;i++){
|
|
97
|
-
if(this.beforetabs[i].titleName == title){
|
|
98
|
-
beforetitle = this.beforetabs[i].beforeName
|
|
99
|
-
this.backthis =this.beforetabs[i].backthis
|
|
100
|
-
this.safe = this.beforetabs[i].safe
|
|
101
|
-
j = i
|
|
102
|
-
break;
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
this.beforetabs.splice(j + 1, 1)
|
|
106
|
-
this.beforeName = beforetitle
|
|
107
|
-
this.titleName = title
|
|
108
|
-
// 判断是否 显示底层导航
|
|
109
|
-
if(this.iftabbar == this.titleName){
|
|
110
|
-
this.isMenu = true
|
|
111
|
-
}
|
|
112
|
-
},
|
|
113
|
-
onClickTabBarItem(titlefg) {
|
|
114
|
-
var param = titlefg.link
|
|
115
|
-
if(titlefg.name == '退出系统'){
|
|
116
|
-
this.$showMessage('即将返回登陆界面!', ['confirm', 'cancel']).then((res) => {
|
|
117
|
-
if (res === 'confirm') {
|
|
118
|
-
this.$androidUtil.setPreference('f_repairman_id', 'x')
|
|
119
|
-
this.$androidUtil.setPreference('f_repairman_name', 'x')
|
|
120
|
-
this.$back()
|
|
121
|
-
}
|
|
122
|
-
})
|
|
123
|
-
}else{
|
|
124
|
-
if(this.beforeName == titlefg.name){
|
|
125
|
-
return
|
|
126
|
-
}
|
|
127
|
-
this.titleName = titlefg.name
|
|
128
|
-
this.beforeName = titlefg.name
|
|
129
|
-
let data = {
|
|
130
|
-
sourcet: '竖屏'
|
|
131
|
-
}
|
|
132
|
-
// if(titlefg.name == '待办工单'){
|
|
133
|
-
// param = param+'V'
|
|
134
|
-
// }
|
|
135
|
-
this.$refs.route.init(param,data)
|
|
136
|
-
}
|
|
137
|
-
},
|
|
138
|
-
closeAndDelAudio() {
|
|
139
|
-
console.log("停止无限制录音")
|
|
140
|
-
HostApp.startOrStopAudioClip("-----","停止录音")
|
|
141
|
-
}
|
|
142
|
-
},
|
|
143
|
-
events: {
|
|
144
|
-
'gotoson': function (prpdata) {
|
|
145
|
-
// 事件回调内的 `this` 自动绑定到注册它的实例上
|
|
146
|
-
// safe 返回事件是否进行判断后再返回
|
|
147
|
-
// 每进入一次,beforetabs 数组添加 返回 删除
|
|
148
|
-
this.backthis = prpdata._this
|
|
149
|
-
this.safe = prpdata.safe
|
|
150
|
-
this.isMenu = false
|
|
151
|
-
// 记录本次跳转
|
|
152
|
-
var beforedata = {
|
|
153
|
-
beforeName: this.titleName,
|
|
154
|
-
titleName: prpdata.title,
|
|
155
|
-
backthis:prpdata._this,
|
|
156
|
-
safe:prpdata.safe
|
|
157
|
-
}
|
|
158
|
-
this.beforetabs.push(beforedata)
|
|
159
|
-
if( this.beforetabs.length == 1){
|
|
160
|
-
this.iftabbar = beforedata.beforeName
|
|
161
|
-
}
|
|
162
|
-
// 写入跳转后 前后组件名字
|
|
163
|
-
this.beforeName = this.titleName
|
|
164
|
-
this.titleName = prpdata.title
|
|
165
|
-
|
|
166
|
-
console.log('进入子组件,通知外层组件,我已经进入')
|
|
167
|
-
},
|
|
168
|
-
'confirm': function () {
|
|
169
|
-
// 提交处理返回事件
|
|
170
|
-
this.back('提交')
|
|
171
|
-
},
|
|
172
|
-
'backarrdel': function () {
|
|
173
|
-
this.delback()
|
|
174
|
-
},
|
|
175
|
-
'gologin': function () {
|
|
176
|
-
this.beforetabs = []
|
|
177
|
-
this.$back()
|
|
178
|
-
}
|
|
179
|
-
}
|
|
180
|
-
}
|
|
181
|
-
</script>
|
|
182
|
-
<style scoped>
|
|
183
|
-
.app-height{
|
|
184
|
-
height: 93%;
|
|
185
|
-
}
|
|
186
|
-
</style>
|
|
1
|
+
<template>
|
|
2
|
+
<div style="height: 5%;background-color: #499edf;"></div>
|
|
3
|
+
<div style="height: 7%">
|
|
4
|
+
<tools-page :need-back="!isMenu" :title="titleName" @back="back('返回')" > </tools-page>
|
|
5
|
+
</div>
|
|
6
|
+
<div id="app" :class="{'auto':isMenu,'app-height':!isMenu}">
|
|
7
|
+
<div class="row" :style="isMenu?'overflow-y: scroll;overflow-x: hidden;height:80vh':'overflow-y: scroll;overflow-x: hidden;'">
|
|
8
|
+
<route v-ref:route> </route>
|
|
9
|
+
</div>
|
|
10
|
+
<tab-bar @select-item="onClickTabBarItem" v-show="isMenu">
|
|
11
|
+
</tab-bar>
|
|
12
|
+
</div>
|
|
13
|
+
<modal v-if="showFile" :show.sync="showFile" v-ref:modal :backdrop="false" title="业务提醒">
|
|
14
|
+
<header slot="modal-header" class="modal-header">
|
|
15
|
+
<h4 class="modal-title">业务提醒</h4>
|
|
16
|
+
</header>
|
|
17
|
+
<article slot="modal-body" class="modal-body">
|
|
18
|
+
<div class="form-group" style="text-align: center">
|
|
19
|
+
安检代办:{{result.safe[0].safenum}}条,其中预约单{{result.safeorder[0].safeyuyuenum}}条 <br/>
|
|
20
|
+
维修代办:{{result.tel[0].telnum}}条,其中预约单{{result.telorder[0].telyuyuenum}}条<br/>
|
|
21
|
+
报建代办:{{result.apply[0].applynum}}条,其中预约单{{result.applyorder[0].applyyuyuenum}}条<br/>
|
|
22
|
+
</div>
|
|
23
|
+
</article>
|
|
24
|
+
<footer slot="modal-footer" class="modal-footer">
|
|
25
|
+
<button type="button" @click="closeFile" style="background-color: limegreen;color: white">确定</button>
|
|
26
|
+
</footer>
|
|
27
|
+
</modal>
|
|
28
|
+
</template>
|
|
29
|
+
|
|
30
|
+
<script>
|
|
31
|
+
|
|
32
|
+
import {HttpResetClass} from "vue-client";
|
|
33
|
+
import Vue from 'vue'
|
|
34
|
+
export default {
|
|
35
|
+
title: 'app',
|
|
36
|
+
data: function () {
|
|
37
|
+
return {
|
|
38
|
+
item: 0,
|
|
39
|
+
isMenu:true,
|
|
40
|
+
beforeName:'主界面',
|
|
41
|
+
titleName:'待办工作',
|
|
42
|
+
backthis:'',
|
|
43
|
+
safe:false,
|
|
44
|
+
showFile:false,
|
|
45
|
+
beforetabs:[],
|
|
46
|
+
iftabbar:'',
|
|
47
|
+
result:[]
|
|
48
|
+
}
|
|
49
|
+
},
|
|
50
|
+
ready(){
|
|
51
|
+
let zhi=this.$appdata.getSingleValue('是否开启代办提醒')
|
|
52
|
+
if(zhi=='是'){
|
|
53
|
+
console.log("99999",Vue.user)
|
|
54
|
+
new HttpResetClass().load('post',`${this.$androidUtil.getProxyUrl()}/rs/logic/getModuleUpcoming`,{
|
|
55
|
+
id:Vue.user.id,
|
|
56
|
+
name:Vue.user.name,
|
|
57
|
+
orgid:Vue.user.orgid
|
|
58
|
+
}).then(res=>{
|
|
59
|
+
console.log("888888===>"+JSON.stringify(res.data))
|
|
60
|
+
this.result = res.data
|
|
61
|
+
this.showFile=true
|
|
62
|
+
// this.$showMessage(`你有${result.safe[0].safenum}条需要处理的安检待办业务,<br/>
|
|
63
|
+
// ${result.safeorder[0].safeyuyuenum}条需要处理的安检预约业务,<br/>
|
|
64
|
+
// ${result.tel[0].telnum}条需要处理的维修待办业务,<br/>
|
|
65
|
+
// ${result.telorder[0].telyuyuenum}条需要处理的维修预约业务,<br/>
|
|
66
|
+
// ${result.applyorder[0].applyyuyuenum}条需要处理的报建预约业务,<br/>
|
|
67
|
+
// ${result.apply[0].applynum}条需要处理的报建待办业务`)
|
|
68
|
+
})
|
|
69
|
+
}
|
|
70
|
+
},
|
|
71
|
+
methods: {
|
|
72
|
+
closeFile(){
|
|
73
|
+
this.showFile=false
|
|
74
|
+
},
|
|
75
|
+
back (flag){
|
|
76
|
+
if(this.safe && flag == '返回' ){
|
|
77
|
+
this.$showMessage('此返回所录入内容将无法找回!', ['confirm', 'cancel']).then((res) => {
|
|
78
|
+
if (res === 'confirm') {
|
|
79
|
+
//this.safe = false 返回父页面后不能修改父级页面定义的 是否返回提示
|
|
80
|
+
this.delback()
|
|
81
|
+
this.backthis.$back()
|
|
82
|
+
this.closeAndDelAudio()
|
|
83
|
+
}
|
|
84
|
+
})
|
|
85
|
+
}else{
|
|
86
|
+
this.delback()
|
|
87
|
+
//this.safe = false 返回父页面后不能修改父级页面定义的 是否返回提示
|
|
88
|
+
this.backthis.$back()
|
|
89
|
+
}
|
|
90
|
+
},
|
|
91
|
+
delback(){
|
|
92
|
+
// 先确认出 前一个组件的名字
|
|
93
|
+
var title = this.beforeName
|
|
94
|
+
var beforetitle = '主界面'
|
|
95
|
+
var j = -1
|
|
96
|
+
for(var i = 0;i<this.beforetabs.length;i++){
|
|
97
|
+
if(this.beforetabs[i].titleName == title){
|
|
98
|
+
beforetitle = this.beforetabs[i].beforeName
|
|
99
|
+
this.backthis =this.beforetabs[i].backthis
|
|
100
|
+
this.safe = this.beforetabs[i].safe
|
|
101
|
+
j = i
|
|
102
|
+
break;
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
this.beforetabs.splice(j + 1, 1)
|
|
106
|
+
this.beforeName = beforetitle
|
|
107
|
+
this.titleName = title
|
|
108
|
+
// 判断是否 显示底层导航
|
|
109
|
+
if(this.iftabbar == this.titleName){
|
|
110
|
+
this.isMenu = true
|
|
111
|
+
}
|
|
112
|
+
},
|
|
113
|
+
onClickTabBarItem(titlefg) {
|
|
114
|
+
var param = titlefg.link
|
|
115
|
+
if(titlefg.name == '退出系统'){
|
|
116
|
+
this.$showMessage('即将返回登陆界面!', ['confirm', 'cancel']).then((res) => {
|
|
117
|
+
if (res === 'confirm') {
|
|
118
|
+
this.$androidUtil.setPreference('f_repairman_id', 'x')
|
|
119
|
+
this.$androidUtil.setPreference('f_repairman_name', 'x')
|
|
120
|
+
this.$back()
|
|
121
|
+
}
|
|
122
|
+
})
|
|
123
|
+
}else{
|
|
124
|
+
if(this.beforeName == titlefg.name){
|
|
125
|
+
return
|
|
126
|
+
}
|
|
127
|
+
this.titleName = titlefg.name
|
|
128
|
+
this.beforeName = titlefg.name
|
|
129
|
+
let data = {
|
|
130
|
+
sourcet: '竖屏'
|
|
131
|
+
}
|
|
132
|
+
// if(titlefg.name == '待办工单'){
|
|
133
|
+
// param = param+'V'
|
|
134
|
+
// }
|
|
135
|
+
this.$refs.route.init(param,data)
|
|
136
|
+
}
|
|
137
|
+
},
|
|
138
|
+
closeAndDelAudio() {
|
|
139
|
+
console.log("停止无限制录音")
|
|
140
|
+
HostApp.startOrStopAudioClip("-----","停止录音")
|
|
141
|
+
}
|
|
142
|
+
},
|
|
143
|
+
events: {
|
|
144
|
+
'gotoson': function (prpdata) {
|
|
145
|
+
// 事件回调内的 `this` 自动绑定到注册它的实例上
|
|
146
|
+
// safe 返回事件是否进行判断后再返回
|
|
147
|
+
// 每进入一次,beforetabs 数组添加 返回 删除
|
|
148
|
+
this.backthis = prpdata._this
|
|
149
|
+
this.safe = prpdata.safe
|
|
150
|
+
this.isMenu = false
|
|
151
|
+
// 记录本次跳转
|
|
152
|
+
var beforedata = {
|
|
153
|
+
beforeName: this.titleName,
|
|
154
|
+
titleName: prpdata.title,
|
|
155
|
+
backthis:prpdata._this,
|
|
156
|
+
safe:prpdata.safe
|
|
157
|
+
}
|
|
158
|
+
this.beforetabs.push(beforedata)
|
|
159
|
+
if( this.beforetabs.length == 1){
|
|
160
|
+
this.iftabbar = beforedata.beforeName
|
|
161
|
+
}
|
|
162
|
+
// 写入跳转后 前后组件名字
|
|
163
|
+
this.beforeName = this.titleName
|
|
164
|
+
this.titleName = prpdata.title
|
|
165
|
+
|
|
166
|
+
console.log('进入子组件,通知外层组件,我已经进入')
|
|
167
|
+
},
|
|
168
|
+
'confirm': function () {
|
|
169
|
+
// 提交处理返回事件
|
|
170
|
+
this.back('提交')
|
|
171
|
+
},
|
|
172
|
+
'backarrdel': function () {
|
|
173
|
+
this.delback()
|
|
174
|
+
},
|
|
175
|
+
'gologin': function () {
|
|
176
|
+
this.beforetabs = []
|
|
177
|
+
this.$back()
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
</script>
|
|
182
|
+
<style scoped>
|
|
183
|
+
.app-height{
|
|
184
|
+
height: 93%;
|
|
185
|
+
}
|
|
186
|
+
</style>
|
|
@@ -1,199 +1,199 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<div class="page-header app-header auto">
|
|
3
|
-
<span style="margin-left:33px">{{title}}</span>
|
|
4
|
-
<div class="app-header-back" @click='back()' v-show="needBack">
|
|
5
|
-
<img src="../../assets/返回.png" style="height: 20px;margin-right:-10px"/>
|
|
6
|
-
</div>
|
|
7
|
-
<div class="app-header-back" style="height: auto" v-show="!needBack">
|
|
8
|
-
<img src="../../assets/denglu.png" style="height: 20px;margin-right:-10px;margin-top:-10px"/>
|
|
9
|
-
<span style="margin-left:5px;color: #ffffff;font-size: 1.0em;">{{loginname}}</span>
|
|
10
|
-
</div>
|
|
11
|
-
<div class="app-header-list" v-if="showList">
|
|
12
|
-
<dropdown>
|
|
13
|
-
<a href="#" data-toggle="dropdown" class="dropdown-toggle" style="color: white;font-size:19px">
|
|
14
|
-
<div class="app-header-newaddserver" style="line-height: 1px;margin-top: -5px">
|
|
15
|
-
<img src="../../assets/newadd3.png" style="height: 20px;margin-right:-10px"/>
|
|
16
|
-
</div>
|
|
17
|
-
</a>
|
|
18
|
-
<ul slot="dropdown-menu" class="dropdown-menu dropdown-menu-right">
|
|
19
|
-
<li >
|
|
20
|
-
<a href="#" @click="gotopage('sell-info',{user:user})">
|
|
21
|
-
<img src="../../assets/待办工单竖屏3.png"> 报修工单
|
|
22
|
-
</a>
|
|
23
|
-
<hr>
|
|
24
|
-
<a href="#" @click="gotopage('repair-message',{user:user})">
|
|
25
|
-
<img src="../../assets/安检导航竖屏3.png"/> 安检计划
|
|
26
|
-
</a>
|
|
27
|
-
<hr>
|
|
28
|
-
<a href="#" @click="gotopage('changemeter-info',{user:user})">
|
|
29
|
-
<img src="../../assets/手机抄表竖屏3.png"/> 抄表计划
|
|
30
|
-
</a>
|
|
31
|
-
<hr>
|
|
32
|
-
<hr>
|
|
33
|
-
</li>
|
|
34
|
-
</ul>
|
|
35
|
-
</dropdown>
|
|
36
|
-
</div>
|
|
37
|
-
<div class="app-header-guanbishengyin" style="line-height: 25px" @click='mute()'>
|
|
38
|
-
<img v-if="!f_voiceSwitch" src="../../assets/jingyin3.png" style="height: 20px; width: 20px;"/>
|
|
39
|
-
<img v-if="f_voiceSwitch" src="../../assets/yinliang.png" style="height: 20px; width: 20px;"/>
|
|
40
|
-
</div>
|
|
41
|
-
</div>
|
|
42
|
-
</template>
|
|
43
|
-
|
|
44
|
-
<script>
|
|
45
|
-
import Vue from 'vue'
|
|
46
|
-
export default {
|
|
47
|
-
title: '通用头部组件',
|
|
48
|
-
data () {
|
|
49
|
-
return {
|
|
50
|
-
loginname: Vue.user.name,
|
|
51
|
-
f_voiceSwitch:true
|
|
52
|
-
}
|
|
53
|
-
},
|
|
54
|
-
props: {
|
|
55
|
-
user:{
|
|
56
|
-
type:Object
|
|
57
|
-
},
|
|
58
|
-
userinfo:{
|
|
59
|
-
type:Object
|
|
60
|
-
},
|
|
61
|
-
// 是否显示列表控件
|
|
62
|
-
showList: {
|
|
63
|
-
type: Boolean,
|
|
64
|
-
default: false
|
|
65
|
-
},
|
|
66
|
-
title: {
|
|
67
|
-
type: String,
|
|
68
|
-
default: '燃气应用'
|
|
69
|
-
},
|
|
70
|
-
needBack: {
|
|
71
|
-
type: Boolean,
|
|
72
|
-
default: true
|
|
73
|
-
}
|
|
74
|
-
},
|
|
75
|
-
ready(){
|
|
76
|
-
let isShow = this.$appdata.getSingleValue('计划提醒弹窗') || false
|
|
77
|
-
if (isShow){
|
|
78
|
-
let criteria = {
|
|
79
|
-
items: '*',
|
|
80
|
-
tablename: 't_check_plan',
|
|
81
|
-
condition: `1=1`,
|
|
82
|
-
orderitem: 'id'
|
|
83
|
-
}
|
|
84
|
-
let result = HostApp._executeTask({'type':'sql', 'data':{'alias': 'safe_singleTable_OrderBy', 'criteria': criteria}})
|
|
85
|
-
if(result.code == 200){
|
|
86
|
-
result.data.rows.forEach(item=>{
|
|
87
|
-
if (new Date(item.f_end_time) <= new Date() && new Date(item.f_end_time) >= new Date(new Date()).setDate(new Date().getDate()-(this.$appdata.getSingleValue('计划提醒日期') || '7'))){
|
|
88
|
-
HostApp.notify2("提醒:",`计划名称:${item.f_plan_name},计划结束时间:${item.f_end_time},请及时安排安检!`,"true")
|
|
89
|
-
}
|
|
90
|
-
})
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
//首次进入默认开启播放
|
|
94
|
-
HostApp.setPreference('f_voiceSwitch','true')
|
|
95
|
-
//是否开启无限制响铃(单值参数配 -1 代表开启无限制响铃)
|
|
96
|
-
HostApp.setPreference('loop',this.$appdata.getSingleValue('loop') || '3')
|
|
97
|
-
},
|
|
98
|
-
methods: {
|
|
99
|
-
// 新增工单
|
|
100
|
-
newadd(){
|
|
101
|
-
// 事件
|
|
102
|
-
},
|
|
103
|
-
// 跳转页面
|
|
104
|
-
gotopage(param,props) {
|
|
105
|
-
this.$goto(param,props)
|
|
106
|
-
},
|
|
107
|
-
back () {
|
|
108
|
-
// console.log('发送返回事件')
|
|
109
|
-
this.$emit('back')
|
|
110
|
-
},
|
|
111
|
-
// 关闭新消息响铃(静音)
|
|
112
|
-
mute () {
|
|
113
|
-
if(navigator.userAgent.match('iPad') || navigator.userAgent.match('iPhone')){
|
|
114
|
-
window.prompt("mute","")
|
|
115
|
-
}else{
|
|
116
|
-
HostApp.mute()
|
|
117
|
-
switch (HostApp.getPreference('f_voiceSwitch').data){
|
|
118
|
-
case 'true' : HostApp.setPreference('f_voiceSwitch','false')
|
|
119
|
-
this.f_voiceSwitch= false
|
|
120
|
-
break
|
|
121
|
-
case 'false' : HostApp.setPreference('f_voiceSwitch','true')
|
|
122
|
-
this.f_voiceSwitch= true
|
|
123
|
-
break
|
|
124
|
-
default : HostApp.setPreference('f_voiceSwitch','true')
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
},
|
|
128
|
-
}
|
|
129
|
-
}
|
|
130
|
-
</script>
|
|
131
|
-
<style scoped>
|
|
132
|
-
.app-header {
|
|
133
|
-
position: fixed;
|
|
134
|
-
top:3%;
|
|
135
|
-
width: 100%;
|
|
136
|
-
margin: 0px;
|
|
137
|
-
background: #499edf;
|
|
138
|
-
color: #FFF;
|
|
139
|
-
padding: 10px;
|
|
140
|
-
text-align: center;
|
|
141
|
-
font-size: 15px;
|
|
142
|
-
height: 7%;
|
|
143
|
-
|
|
144
|
-
/*margin-bottom: 20px;*/
|
|
145
|
-
}
|
|
146
|
-
.app-header-back {
|
|
147
|
-
position: absolute;
|
|
148
|
-
top: 12px;
|
|
149
|
-
color: #D8DCE5;
|
|
150
|
-
}
|
|
151
|
-
.app-header-list {
|
|
152
|
-
height: 40px;
|
|
153
|
-
float: right;
|
|
154
|
-
color: #D8DCE5;
|
|
155
|
-
}
|
|
156
|
-
.app-header-guanbishengyin {
|
|
157
|
-
margin-right: 10px;
|
|
158
|
-
float: right;
|
|
159
|
-
color: #D8DCE5;
|
|
160
|
-
}
|
|
161
|
-
.app-header-newaddserver {
|
|
162
|
-
margin-right: 10px;
|
|
163
|
-
float: right;
|
|
164
|
-
color: #D8DCE5;
|
|
165
|
-
}
|
|
166
|
-
.app-header-volume {
|
|
167
|
-
position: absolute;
|
|
168
|
-
top: 0;
|
|
169
|
-
display: flex;
|
|
170
|
-
flex-direction: column;
|
|
171
|
-
justify-content: center;
|
|
172
|
-
right: 20px;
|
|
173
|
-
color: #D8DCE5;
|
|
174
|
-
font-size: 1.5em;
|
|
175
|
-
}
|
|
176
|
-
.dropdown-menu {
|
|
177
|
-
background-color: #212a35;
|
|
178
|
-
}
|
|
179
|
-
.dropdown-menu a{
|
|
180
|
-
color: white;
|
|
181
|
-
}
|
|
182
|
-
.dropdown-menu a:hover{
|
|
183
|
-
color: white;
|
|
184
|
-
background-color: #6b85a3;
|
|
185
|
-
}
|
|
186
|
-
.dropdown-menu img{
|
|
187
|
-
width: 22%;
|
|
188
|
-
margin-top: -5px;
|
|
189
|
-
}
|
|
190
|
-
.dropdown-menu hr{
|
|
191
|
-
margin-top: 0px;
|
|
192
|
-
margin-bottom: 0px;
|
|
193
|
-
margin-right:0px;
|
|
194
|
-
width: 80%;
|
|
195
|
-
}
|
|
196
|
-
.glyphicon-menu-left{
|
|
197
|
-
color:#fff;
|
|
198
|
-
}
|
|
199
|
-
</style>
|
|
1
|
+
<template>
|
|
2
|
+
<div class="page-header app-header auto">
|
|
3
|
+
<span style="margin-left:33px">{{title}}</span>
|
|
4
|
+
<div class="app-header-back" @click='back()' v-show="needBack">
|
|
5
|
+
<img src="../../assets/返回.png" style="height: 20px;margin-right:-10px"/>
|
|
6
|
+
</div>
|
|
7
|
+
<div class="app-header-back" style="height: auto" v-show="!needBack">
|
|
8
|
+
<img src="../../assets/denglu.png" style="height: 20px;margin-right:-10px;margin-top:-10px"/>
|
|
9
|
+
<span style="margin-left:5px;color: #ffffff;font-size: 1.0em;">{{loginname}}</span>
|
|
10
|
+
</div>
|
|
11
|
+
<div class="app-header-list" v-if="showList">
|
|
12
|
+
<dropdown>
|
|
13
|
+
<a href="#" data-toggle="dropdown" class="dropdown-toggle" style="color: white;font-size:19px">
|
|
14
|
+
<div class="app-header-newaddserver" style="line-height: 1px;margin-top: -5px">
|
|
15
|
+
<img src="../../assets/newadd3.png" style="height: 20px;margin-right:-10px"/>
|
|
16
|
+
</div>
|
|
17
|
+
</a>
|
|
18
|
+
<ul slot="dropdown-menu" class="dropdown-menu dropdown-menu-right">
|
|
19
|
+
<li >
|
|
20
|
+
<a href="#" @click="gotopage('sell-info',{user:user})">
|
|
21
|
+
<img src="../../assets/待办工单竖屏3.png"> 报修工单
|
|
22
|
+
</a>
|
|
23
|
+
<hr>
|
|
24
|
+
<a href="#" @click="gotopage('repair-message',{user:user})">
|
|
25
|
+
<img src="../../assets/安检导航竖屏3.png"/> 安检计划
|
|
26
|
+
</a>
|
|
27
|
+
<hr>
|
|
28
|
+
<a href="#" @click="gotopage('changemeter-info',{user:user})">
|
|
29
|
+
<img src="../../assets/手机抄表竖屏3.png"/> 抄表计划
|
|
30
|
+
</a>
|
|
31
|
+
<hr>
|
|
32
|
+
<hr>
|
|
33
|
+
</li>
|
|
34
|
+
</ul>
|
|
35
|
+
</dropdown>
|
|
36
|
+
</div>
|
|
37
|
+
<div class="app-header-guanbishengyin" style="line-height: 25px" @click='mute()'>
|
|
38
|
+
<img v-if="!f_voiceSwitch" src="../../assets/jingyin3.png" style="height: 20px; width: 20px;"/>
|
|
39
|
+
<img v-if="f_voiceSwitch" src="../../assets/yinliang.png" style="height: 20px; width: 20px;"/>
|
|
40
|
+
</div>
|
|
41
|
+
</div>
|
|
42
|
+
</template>
|
|
43
|
+
|
|
44
|
+
<script>
|
|
45
|
+
import Vue from 'vue'
|
|
46
|
+
export default {
|
|
47
|
+
title: '通用头部组件',
|
|
48
|
+
data () {
|
|
49
|
+
return {
|
|
50
|
+
loginname: Vue.user.name,
|
|
51
|
+
f_voiceSwitch:true
|
|
52
|
+
}
|
|
53
|
+
},
|
|
54
|
+
props: {
|
|
55
|
+
user:{
|
|
56
|
+
type:Object
|
|
57
|
+
},
|
|
58
|
+
userinfo:{
|
|
59
|
+
type:Object
|
|
60
|
+
},
|
|
61
|
+
// 是否显示列表控件
|
|
62
|
+
showList: {
|
|
63
|
+
type: Boolean,
|
|
64
|
+
default: false
|
|
65
|
+
},
|
|
66
|
+
title: {
|
|
67
|
+
type: String,
|
|
68
|
+
default: '燃气应用'
|
|
69
|
+
},
|
|
70
|
+
needBack: {
|
|
71
|
+
type: Boolean,
|
|
72
|
+
default: true
|
|
73
|
+
}
|
|
74
|
+
},
|
|
75
|
+
ready(){
|
|
76
|
+
let isShow = this.$appdata.getSingleValue('计划提醒弹窗') || false
|
|
77
|
+
if (isShow){
|
|
78
|
+
let criteria = {
|
|
79
|
+
items: '*',
|
|
80
|
+
tablename: 't_check_plan',
|
|
81
|
+
condition: `1=1`,
|
|
82
|
+
orderitem: 'id'
|
|
83
|
+
}
|
|
84
|
+
let result = HostApp._executeTask({'type':'sql', 'data':{'alias': 'safe_singleTable_OrderBy', 'criteria': criteria}})
|
|
85
|
+
if(result.code == 200){
|
|
86
|
+
result.data.rows.forEach(item=>{
|
|
87
|
+
if (new Date(item.f_end_time) <= new Date() && new Date(item.f_end_time) >= new Date(new Date()).setDate(new Date().getDate()-(this.$appdata.getSingleValue('计划提醒日期') || '7'))){
|
|
88
|
+
HostApp.notify2("提醒:",`计划名称:${item.f_plan_name},计划结束时间:${item.f_end_time},请及时安排安检!`,"true")
|
|
89
|
+
}
|
|
90
|
+
})
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
//首次进入默认开启播放
|
|
94
|
+
HostApp.setPreference('f_voiceSwitch','true')
|
|
95
|
+
//是否开启无限制响铃(单值参数配 -1 代表开启无限制响铃)
|
|
96
|
+
HostApp.setPreference('loop',this.$appdata.getSingleValue('loop') || '3')
|
|
97
|
+
},
|
|
98
|
+
methods: {
|
|
99
|
+
// 新增工单
|
|
100
|
+
newadd(){
|
|
101
|
+
// 事件
|
|
102
|
+
},
|
|
103
|
+
// 跳转页面
|
|
104
|
+
gotopage(param,props) {
|
|
105
|
+
this.$goto(param,props)
|
|
106
|
+
},
|
|
107
|
+
back () {
|
|
108
|
+
// console.log('发送返回事件')
|
|
109
|
+
this.$emit('back')
|
|
110
|
+
},
|
|
111
|
+
// 关闭新消息响铃(静音)
|
|
112
|
+
mute () {
|
|
113
|
+
if(navigator.userAgent.match('iPad') || navigator.userAgent.match('iPhone')){
|
|
114
|
+
window.prompt("mute","")
|
|
115
|
+
}else{
|
|
116
|
+
HostApp.mute()
|
|
117
|
+
switch (HostApp.getPreference('f_voiceSwitch').data){
|
|
118
|
+
case 'true' : HostApp.setPreference('f_voiceSwitch','false')
|
|
119
|
+
this.f_voiceSwitch= false
|
|
120
|
+
break
|
|
121
|
+
case 'false' : HostApp.setPreference('f_voiceSwitch','true')
|
|
122
|
+
this.f_voiceSwitch= true
|
|
123
|
+
break
|
|
124
|
+
default : HostApp.setPreference('f_voiceSwitch','true')
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
},
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
</script>
|
|
131
|
+
<style scoped>
|
|
132
|
+
.app-header {
|
|
133
|
+
position: fixed;
|
|
134
|
+
top:3%;
|
|
135
|
+
width: 100%;
|
|
136
|
+
margin: 0px;
|
|
137
|
+
background: #499edf;
|
|
138
|
+
color: #FFF;
|
|
139
|
+
padding: 10px;
|
|
140
|
+
text-align: center;
|
|
141
|
+
font-size: 15px;
|
|
142
|
+
height: 7%;
|
|
143
|
+
|
|
144
|
+
/*margin-bottom: 20px;*/
|
|
145
|
+
}
|
|
146
|
+
.app-header-back {
|
|
147
|
+
position: absolute;
|
|
148
|
+
top: 12px;
|
|
149
|
+
color: #D8DCE5;
|
|
150
|
+
}
|
|
151
|
+
.app-header-list {
|
|
152
|
+
height: 40px;
|
|
153
|
+
float: right;
|
|
154
|
+
color: #D8DCE5;
|
|
155
|
+
}
|
|
156
|
+
.app-header-guanbishengyin {
|
|
157
|
+
margin-right: 10px;
|
|
158
|
+
float: right;
|
|
159
|
+
color: #D8DCE5;
|
|
160
|
+
}
|
|
161
|
+
.app-header-newaddserver {
|
|
162
|
+
margin-right: 10px;
|
|
163
|
+
float: right;
|
|
164
|
+
color: #D8DCE5;
|
|
165
|
+
}
|
|
166
|
+
.app-header-volume {
|
|
167
|
+
position: absolute;
|
|
168
|
+
top: 0;
|
|
169
|
+
display: flex;
|
|
170
|
+
flex-direction: column;
|
|
171
|
+
justify-content: center;
|
|
172
|
+
right: 20px;
|
|
173
|
+
color: #D8DCE5;
|
|
174
|
+
font-size: 1.5em;
|
|
175
|
+
}
|
|
176
|
+
.dropdown-menu {
|
|
177
|
+
background-color: #212a35;
|
|
178
|
+
}
|
|
179
|
+
.dropdown-menu a{
|
|
180
|
+
color: white;
|
|
181
|
+
}
|
|
182
|
+
.dropdown-menu a:hover{
|
|
183
|
+
color: white;
|
|
184
|
+
background-color: #6b85a3;
|
|
185
|
+
}
|
|
186
|
+
.dropdown-menu img{
|
|
187
|
+
width: 22%;
|
|
188
|
+
margin-top: -5px;
|
|
189
|
+
}
|
|
190
|
+
.dropdown-menu hr{
|
|
191
|
+
margin-top: 0px;
|
|
192
|
+
margin-bottom: 0px;
|
|
193
|
+
margin-right:0px;
|
|
194
|
+
width: 80%;
|
|
195
|
+
}
|
|
196
|
+
.glyphicon-menu-left{
|
|
197
|
+
color:#fff;
|
|
198
|
+
}
|
|
199
|
+
</style>
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
let specialComp = {
|
|
2
|
-
'nav-bottom': (resolve) => { require(['./NavBottomVVV'], resolve) },
|
|
3
|
-
'tools-page': (resolve) => { require(['./ToolsPage'], resolve) },
|
|
4
|
-
}
|
|
5
|
-
exports.specialComp = specialComp
|
|
1
|
+
let specialComp = {
|
|
2
|
+
'nav-bottom': (resolve) => { require(['./NavBottomVVV'], resolve) },
|
|
3
|
+
'tools-page': (resolve) => { require(['./ToolsPage'], resolve) },
|
|
4
|
+
}
|
|
5
|
+
exports.specialComp = specialComp
|