system-phone 3.1.0 → 3.1.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 (103) hide show
  1. package/.gradle/buildOutputCleanup/cache.properties +2 -2
  2. package/SystemPhone.iml +8 -8
  3. package/build/dev-server.js +141 -141
  4. package/build/webpack.base.conf.js +82 -82
  5. package/build.gradle +27 -27
  6. package/gradle/wrapper/gradle-wrapper.properties +5 -5
  7. package/gradlew +183 -183
  8. package/gradlew.bat +100 -100
  9. package/index.html +21 -21
  10. package/package.json +1 -1
  11. package/src/App.vue +25 -25
  12. package/src/Util.js +415 -415
  13. package/src/assets//346/215/242/350/241/250/347/273/264/344/277/256.png +0 -0
  14. package/src/assets//351/200/232/347/224/250/350/203/214/346/231/257/345/233/276.png +0 -0
  15. package/src/components/AloneLoadParams.vue +26 -26
  16. package/src/components/AlreadyService.vue +193 -193
  17. package/src/components/AttendManage.vue +534 -534
  18. package/src/components/LoadAppdata.vue +38 -38
  19. package/src/components/LoginApp.vue +732 -732
  20. package/src/components/LoginAppNew.vue +587 -587
  21. package/src/components/LoginAppV4.vue +716 -732
  22. package/src/components/ModifyPassWord.vue +216 -216
  23. package/src/components/NavBottom.vue +117 -117
  24. package/src/components/NavBottomV.vue +141 -141
  25. package/src/components/NavBottomVVV.vue +185 -185
  26. package/src/components/OnlineManage.vue +256 -256
  27. package/src/components/PhoneAllInfo.vue +68 -68
  28. package/src/components/PhoneChangemeterInfo.vue +116 -116
  29. package/src/components/PhoneImageInfo.vue +102 -102
  30. package/src/components/PhoneInfoTable.vue +39 -39
  31. package/src/components/PhoneMeterInfo.vue +132 -132
  32. package/src/components/PhoneRepairInfo.vue +146 -146
  33. package/src/components/PhoneSafeInfo.vue +101 -101
  34. package/src/components/PhoneSellInfo.vue +148 -148
  35. package/src/components/PhoneSellInfoLite.vue +112 -112
  36. package/src/components/PhoneUser.vue +202 -202
  37. package/src/components/PhoneUserDetil.vue +70 -70
  38. package/src/components/PhoneUserFind.vue +138 -138
  39. package/src/components/RightTree.vue +217 -217
  40. package/src/components/SystemSetUp.vue +332 -332
  41. package/src/components/TabBarPhone.vue +81 -81
  42. package/src/components/Test.vue +14 -14
  43. package/src/components/ToolsPage.vue +199 -199
  44. package/src/components/UploadManage.vue +194 -194
  45. package/src/components/gaomi/NavBottomV.vue +223 -223
  46. package/src/components/gaomi/NavBottomVVVV.vue +210 -210
  47. package/src/components/gaomi/Scroller.vue +63 -63
  48. package/src/components/gaomi/SystemSetUp.vue +186 -186
  49. package/src/components/gaomi/ToolsPage.vue +168 -168
  50. package/src/components/idea/feedBack.vue +150 -150
  51. package/src/components/idea/feedbackAdd.vue +366 -366
  52. package/src/components/info/ConfigInfo.vue +122 -122
  53. package/src/components/info/FindUserInfo.vue +157 -157
  54. package/src/components/info/InfoTable.vue +37 -37
  55. package/src/components/iot/InstructMessage.vue +313 -313
  56. package/src/components/iot/IotBaseInfo.vue +97 -97
  57. package/src/components/iot/IotMeterInfo.vue +77 -77
  58. package/src/components/iot/iotMonitoringMain.vue +501 -501
  59. package/src/components/online/ApplyOnline.vue +581 -581
  60. package/src/components/online/BJZhongRan/ApplyOnline.vue +600 -600
  61. package/src/components/screen/ChargeContentPage.vue +656 -656
  62. package/src/components/screen/ContentPage.vue +611 -611
  63. package/src/components/screen/GongdanContentPage.vue +149 -149
  64. package/src/components/screen/ListCountItem.vue +93 -93
  65. package/src/components/screen/ModuleTitle.vue +48 -48
  66. package/src/components/screen/SafeOrderContentPage.vue +440 -440
  67. package/src/components/screen/SecurityCheckItem.vue +50 -50
  68. package/src/components/screen/TotalItem.vue +76 -76
  69. package/src/components/screen/TotalUserNumber.vue +77 -77
  70. package/src/components/screen/WorkOrderItem.vue +51 -51
  71. package/src/components/screen/WorkOrderRightDownItem.vue +103 -103
  72. package/src/components/screen/WorkOrderRightItem.vue +115 -115
  73. package/src/components/userinfo/paymentQuery.vue +189 -189
  74. package/src/components/userinfo/queryFile.vue +190 -190
  75. package/src/components/wasm.vue +18 -18
  76. package/src/expandcssAndroid.less +521 -521
  77. package/src/filiale/yulinyuchuan/AlreadyService.vue +194 -194
  78. package/src/filiale/yulinyuchuan/AttendManage.vue +537 -537
  79. package/src/filiale/yulinyuchuan/LoginApp.vue +741 -741
  80. package/src/filiale/yulinyuchuan/OnlineManage.vue +256 -256
  81. package/src/filiale/yulinyuchuan/SystemSetUp.vue +332 -332
  82. package/src/filiale/yulinyuchuan/UploadManage.vue +195 -195
  83. package/src/filiale/yulinyuchuan/systemphonegrid.js +9 -9
  84. package/src/filiale/yulinyuchuanTY/AlreadyService.vue +194 -0
  85. package/src/filiale/yulinyuchuanTY/AttendManage.vue +537 -0
  86. package/src/filiale/yulinyuchuanTY/LoginApp.vue +741 -0
  87. package/src/filiale/yulinyuchuanTY/OnlineManage.vue +256 -0
  88. package/src/filiale/yulinyuchuanTY/SystemSetUp.vue +332 -0
  89. package/src/filiale/yulinyuchuanTY/UploadManage.vue +195 -0
  90. package/src/filiale/yulinyuchuanTY/systemphonegrid.js +9 -0
  91. package/src/index.js +9 -9
  92. package/src/main.js +38 -38
  93. package/src/plugins/const.js +404 -404
  94. package/src/plugins/vue-py.js +37 -37
  95. package/src/stores/AppData.js +79 -91
  96. package/src/systemphone-gaomi.js +105 -105
  97. package/src/systemphone.js +60 -60
  98. package/src/systemphonegrid.js +185 -185
  99. package/src/util/LdapHelper.js +75 -75
  100. package/static/const.js +404 -404
  101. package/static/layui/font/iconfont.svg +554 -554
  102. package/static/vue-py.js +37 -37
  103. package/static/wasm_exec.js +465 -465
@@ -1,81 +1,81 @@
1
- <template>
2
- <div id="TabBar" class="tab-bar flex-row">
3
- <div style="text-align: center;width:{{shuclass}}" @click="didClickedItem(tab.link,tab.name,$index)" v-for="tab in tabs" :class="{active: ($index == actives)}">
4
- <div class="row">
5
- <img class="butt" :src="imgback(tab.name,'选中')" v-if="$index == actives">
6
- <img class="butt" :src="imgback(tab.name,'未选中')" v-if="$index != actives">
7
- <p class="navimagesfoot" style="padding-top:5px">{{tab.name}}</p>
8
- </div>
9
- </div>
10
- </div>
11
- </template>
12
-
13
- <script>
14
- import * as Util from '../Util'
15
- import Vue from 'vue'
16
- export default {
17
- title: "TabBar",
18
- props: {
19
-
20
- },
21
- data: function () {
22
- return {
23
- actives:0,
24
- shuclass:'100%',
25
- tabs: Vue.functions,
26
- // tabs:[{link:'attend-manage',name:'待办工单'},{link:'modify-pass-word',name:'已办工单'},{link:'repair-first',name:'工单上传'}]
27
- }
28
- },
29
- methods: {
30
- didClickedItem(link,name,tag) {
31
- this.actives = tag
32
- var data = {
33
- link:link,
34
- name:name,
35
- tag:tag
36
- }
37
- this.$emit('select-item', data);
38
- },
39
- imgback(val,flag){
40
- return require('../assets/'+ val+ flag +'.png')
41
- },
42
- },
43
- ready () {
44
- this.actives = 0
45
- var number = this.tabs.length
46
- var number1 = 100/number
47
- this.shuclass = number1 +'%'
48
- this.didClickedItem(this.tabs[0].link,this.tabs[0].name,0)
49
- },
50
- }
51
- </script>
52
-
53
- <style scoped>
54
- .tab-bar {
55
- background-color: white;
56
- height: 10%;
57
- border: 0 solid rgb(210, 210, 210);
58
- border-top-width: 1px;
59
- position: fixed;
60
- margin: auto;
61
- bottom: 0;
62
- width: 100%;
63
- }
64
-
65
- .tab-bar-item {
66
- height: 54px;
67
- }
68
-
69
- .active {
70
- color: #1E90FF;
71
- }
72
-
73
- i {
74
- font-size: 25px;
75
- }
76
- .navimagesfoot{
77
- font-size: 10px;
78
- /* font-family: "Pingfhs";*/
79
- }
80
- .butt {margin-left: 20%; margin-right: 20%; margin-top: 10%; width: 25px; border-radius: 5%; text-align: center;align-items:center;}
81
- </style>
1
+ <template>
2
+ <div id="TabBar" class="tab-bar flex-row">
3
+ <div style="text-align: center;width:{{shuclass}}" @click="didClickedItem(tab.link,tab.name,$index)" v-for="tab in tabs" :class="{active: ($index == actives)}">
4
+ <div class="row">
5
+ <img class="butt" :src="imgback(tab.name,'选中')" v-if="$index == actives">
6
+ <img class="butt" :src="imgback(tab.name,'未选中')" v-if="$index != actives">
7
+ <p class="navimagesfoot" style="padding-top:5px">{{tab.name}}</p>
8
+ </div>
9
+ </div>
10
+ </div>
11
+ </template>
12
+
13
+ <script>
14
+ import * as Util from '../Util'
15
+ import Vue from 'vue'
16
+ export default {
17
+ title: "TabBar",
18
+ props: {
19
+
20
+ },
21
+ data: function () {
22
+ return {
23
+ actives:0,
24
+ shuclass:'100%',
25
+ tabs: Vue.functions,
26
+ // tabs:[{link:'attend-manage',name:'待办工单'},{link:'modify-pass-word',name:'已办工单'},{link:'repair-first',name:'工单上传'}]
27
+ }
28
+ },
29
+ methods: {
30
+ didClickedItem(link,name,tag) {
31
+ this.actives = tag
32
+ var data = {
33
+ link:link,
34
+ name:name,
35
+ tag:tag
36
+ }
37
+ this.$emit('select-item', data);
38
+ },
39
+ imgback(val,flag){
40
+ return require('../assets/'+ val+ flag +'.png')
41
+ },
42
+ },
43
+ ready () {
44
+ this.actives = 0
45
+ var number = this.tabs.length
46
+ var number1 = 100/number
47
+ this.shuclass = number1 +'%'
48
+ this.didClickedItem(this.tabs[0].link,this.tabs[0].name,0)
49
+ },
50
+ }
51
+ </script>
52
+
53
+ <style scoped>
54
+ .tab-bar {
55
+ background-color: white;
56
+ height: 10%;
57
+ border: 0 solid rgb(210, 210, 210);
58
+ border-top-width: 1px;
59
+ position: fixed;
60
+ margin: auto;
61
+ bottom: 0;
62
+ width: 100%;
63
+ }
64
+
65
+ .tab-bar-item {
66
+ height: 54px;
67
+ }
68
+
69
+ .active {
70
+ color: #1E90FF;
71
+ }
72
+
73
+ i {
74
+ font-size: 25px;
75
+ }
76
+ .navimagesfoot{
77
+ font-size: 10px;
78
+ /* font-family: "Pingfhs";*/
79
+ }
80
+ .butt {margin-left: 20%; margin-right: 20%; margin-top: 10%; width: 25px; border-radius: 5%; text-align: center;align-items:center;}
81
+ </style>
@@ -1,14 +1,14 @@
1
- <template>
2
- <div>
3
- <h1>Hello Test {{msg}}</h1>
4
- </div>
5
- </template>
6
- <script>
7
- export default {
8
- title: "test",
9
- props: ['msg'],
10
- data () {
11
- return {}
12
- }
13
- }
14
- </script>
1
+ <template>
2
+ <div>
3
+ <h1>Hello Test {{msg}}</h1>
4
+ </div>
5
+ </template>
6
+ <script>
7
+ export default {
8
+ title: "test",
9
+ props: ['msg'],
10
+ data () {
11
+ return {}
12
+ }
13
+ }
14
+ </script>
@@ -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:0px;
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:0px;
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>