system-phone 3.0.49-46 → 3.0.49-48

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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "system-phone",
3
- "version": "3.0.49-46",
3
+ "version": "3.0.49-48",
4
4
  "description": "手机模块 前端组件",
5
5
  "author": "何宁社 <524395609@qq.com>",
6
6
  "license": "ISC",
@@ -190,6 +190,15 @@ export default {
190
190
  },
191
191
  async confirm() {
192
192
  this.loaderShow = true
193
+ // 判断用户状态
194
+ let users = await this.$resetpost(`${this.$androidUtil.getProxyUrl()}/rs/sql/tel_singleTable_OrderBy`,{
195
+ data: {items: '*', tablename: 't_user', orderitem: 'id desc', condition:`ename = '${this.ename}' and (state='在职' or name like '%超级管理员%')`}
196
+ },{resolveMsg: null, rejectMsg: null})
197
+ if (users.data.length == 0) {
198
+ this.loaderShow = false
199
+ this.$showMessage("登陆失败,用户不存在")
200
+ return
201
+ }
193
202
  console.log('Vue.android:' + Vue.android)
194
203
  const userData = {username: this.ename, password: this.password}
195
204
  console.log('获取登陆信息:' + userData)
@@ -206,13 +215,6 @@ export default {
206
215
  resolveMsg: null,
207
216
  rejectMsg: null
208
217
  })
209
- console.log('获取登陆信息:', ret.data)
210
- if(ret.data.state == '离职'){
211
- this.loaderShow = false
212
- this.$showMessage('登录失败!用户名或密码错误!')
213
- return
214
- }
215
- //秦华---(siteId==站点id)===============(flatId==平板id)
216
218
  this.$androidUtil.setPreference('siteId', ret.data.f_extend1 || '')
217
219
  this.$androidUtil.setPreference('flatId', ret.data.f_extend2 || '')
218
220
  this.$androidUtil.setPreference('name', ret.data.name || '')
@@ -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>