system-phone 3.0.49-6 → 3.0.49-60

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 (79) hide show
  1. package/.gradle/7.4/checksums/checksums.lock +0 -0
  2. package/.gradle/7.4/dependencies-accessors/dependencies-accessors.lock +0 -0
  3. package/.gradle/7.4/dependencies-accessors/gc.properties +0 -0
  4. package/.gradle/7.4/executionHistory/executionHistory.bin +0 -0
  5. package/.gradle/7.4/executionHistory/executionHistory.lock +0 -0
  6. package/.gradle/7.4/fileChanges/last-build.bin +0 -0
  7. package/.gradle/7.4/fileHashes/fileHashes.bin +0 -0
  8. package/.gradle/7.4/fileHashes/fileHashes.lock +0 -0
  9. package/.gradle/7.4/gc.properties +0 -0
  10. package/.gradle/buildOutputCleanup/outputFiles.bin +0 -0
  11. package/.gradle/checksums/md5-checksums.bin +0 -0
  12. package/.gradle/file-system.probe +0 -0
  13. package/package.json +1 -1
  14. package/src/assets/images//346/211/223/345/215/241.png +0 -0
  15. package/src/assets//344/277/235/351/231/251/347/231/273/350/256/260.png +0 -0
  16. package/src/assets//345/215/217/345/212/251/345/256/211/346/243/200.png +0 -0
  17. package/src/assets//345/215/241/350/241/250/346/212/204/350/241/250/345/276/205/345/212/236.png +0 -0
  18. package/src/assets//345/233/236/350/256/277.png +0 -0
  19. package/src/assets//345/234/260/345/235/200/345/217/230/346/233/264.png +0 -0
  20. package/src/assets//345/242/236/345/200/274/345/276/205/345/212/236.png +0 -0
  21. package/src/assets//345/244/226/351/203/250/345/256/211/346/243/200/344/270/212/344/274/240.png +0 -0
  22. package/src/assets//345/244/226/351/203/250/345/256/211/346/243/200/344/273/243/345/212/236.png +0 -0
  23. package/src/assets//345/244/226/351/203/250/345/256/211/346/243/200/345/267/262/345/212/236.png +0 -0
  24. package/src/assets//345/244/226/351/203/250/345/256/211/346/243/200/345/276/205/345/212/236.png +0 -0
  25. package/src/assets//345/244/226/351/203/250/351/233/206/344/270/255/345/256/211/346/243/200.png +0 -0
  26. package/src/assets//345/256/211/346/243/200/345/216/206/345/217/262/346/237/245/347/234/213.png +0 -0
  27. package/src/assets//345/256/211/346/243/200/347/256/241/347/220/206/346/234/252/351/200/211/344/270/255.png +0 -0
  28. package/src/assets//345/256/211/346/243/200/347/256/241/347/220/206/351/200/211/344/270/255.png +0 -0
  29. package/src/assets//345/256/211/346/243/200/350/275/254/345/215/225/345/256/241/346/240/270.png +0 -0
  30. package/src/assets//345/267/245/345/215/225/345/244/215/346/243/200.png +0 -0
  31. package/src/assets//345/267/245/345/225/206/345/256/211/346/243/200.png +0 -0
  32. package/src/assets//345/276/205/345/212/236/347/273/237/350/256/241.png +0 -0
  33. package/src/assets//346/212/204/350/241/250/351/207/215/344/274/240.png +0 -0
  34. package/src/assets//346/212/245/345/273/272/344/273/243/345/212/236.png +0 -0
  35. package/src/assets//346/226/275/345/260/201.png +0 -0
  36. package/src/assets//346/226/275/345/260/201/347/256/241/347/220/206.png +0 -0
  37. package/src/assets//346/260/221/347/224/250/345/256/211/346/243/200.png +0 -0
  38. package/src/assets//347/211/251/350/201/224/347/275/221/350/241/250.png +0 -0
  39. package/src/assets//347/224/250/346/210/267/345/273/272/346/241/243.png +0 -0
  40. package/src/assets//347/224/250/346/210/267/350/256/260/345/275/225.png +0 -0
  41. package/src/assets//347/273/264/344/277/256/345/234/250/347/272/277/346/237/245/350/257/242.png +0 -0
  42. package/src/assets//347/273/264/344/277/256/347/231/273/350/256/260.png +0 -0
  43. package/src/assets//350/256/241/345/210/222/345/256/211/346/243/200.png +0 -0
  44. package/src/assets//350/256/241/345/210/222/347/273/237/350/256/241.png +0 -0
  45. package/src/assets//351/200/232/346/260/224/346/211/223/345/216/213/347/225/231/345/272/225.png +0 -0
  46. package/src/assets//351/200/232/347/224/250/350/203/214/346/231/257/345/233/276.png +0 -0
  47. package/src/assets//351/223/205/345/260/201/347/256/241/347/220/206.png +0 -0
  48. package/src/assets//351/230/200/346/216/247/347/256/241/347/220/206.png +0 -0
  49. package/src/assets//351/235/236/345/261/205/346/260/221/345/256/211/346/243/200.png +0 -0
  50. package/src/assets//351/235/236/346/260/221/347/224/250/345/256/211/346/243/200.png +0 -0
  51. package/src/assets//351/242/204/347/272/246/345/256/211/346/243/200/345/276/205/345/212/236.png +0 -0
  52. package/src/assets//351/246/226/351/241/265/345/244/247/345/233/276.png +0 -0
  53. package/src/components/AttendManage.vue +534 -415
  54. package/src/components/LoginApp.vue +19 -11
  55. package/src/components/ModifyPassWord.vue +2 -2
  56. package/src/components/OnlineManage.vue +256 -255
  57. package/src/components/PhoneImageInfo.vue +102 -0
  58. package/src/components/PhoneSafeInfo.vue +101 -101
  59. package/src/components/PhoneSellInfo.vue +25 -0
  60. package/src/components/RightTree.vue +217 -217
  61. package/src/components/SystemSetUp.vue +332 -326
  62. package/src/components/ToolsPage.vue +199 -180
  63. package/src/filiale/yulinyuchuan/AlreadyService.vue +194 -0
  64. package/src/filiale/yulinyuchuan/AttendManage.vue +537 -0
  65. package/src/filiale/yulinyuchuan/LoginApp.vue +741 -0
  66. package/src/filiale/yulinyuchuan/OnlineManage.vue +256 -0
  67. package/src/filiale/yulinyuchuan/SystemSetUp.vue +332 -0
  68. package/src/filiale/yulinyuchuan/UploadManage.vue +195 -0
  69. package/src/filiale/yulinyuchuan/systemphonegrid.js +9 -0
  70. package/src/filiale/yulinyuchuanTY/AlreadyService.vue +194 -0
  71. package/src/filiale/yulinyuchuanTY/AttendManage.vue +537 -0
  72. package/src/filiale/yulinyuchuanTY/LoginApp.vue +741 -0
  73. package/src/filiale/yulinyuchuanTY/OnlineManage.vue +256 -0
  74. package/src/filiale/yulinyuchuanTY/SystemSetUp.vue +332 -0
  75. package/src/filiale/yulinyuchuanTY/UploadManage.vue +195 -0
  76. package/src/filiale/yulinyuchuanTY/systemphonegrid.js +9 -0
  77. package/src/stores/AppData.js +47 -19
  78. package/src/systemphonegrid.js +181 -210
  79. package/yarn.lock +6399 -0
@@ -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,10 +215,8 @@ export default {
206
215
  resolveMsg: null,
207
216
  rejectMsg: null
208
217
  })
209
- console.log('获取登陆信息:', ret.data)
210
- //秦华---(siteId==站点id)===============(flatId==平板id)
211
- this.$androidUtil.setPreference('siteId', ret.data.f_extend1 || '')
212
- this.$androidUtil.setPreference('flatId', ret.data.f_extend2 || '')
218
+ this.$androidUtil.setPreference('siteId', ret.data.f_extend1 || users.data[0].f_extend1 || '')
219
+ this.$androidUtil.setPreference('flatId', ret.data.f_extend2 || users.data[0].f_extend2 || '')
213
220
  this.$androidUtil.setPreference('name', ret.data.name || '')
214
221
  this.$androidUtil.setPreference('ename', ret.data.ename || '')
215
222
  if ((JSON.stringify(ret.data).startsWith("{") || JSON.stringify(ret.data).data.startsWith("[")) && ret.data.code && ret.data.msg && ret.data.code !== 200) {
@@ -274,6 +281,7 @@ export default {
274
281
  this.$androidUtil.setPreference('login_user_cache', userStr)
275
282
  this.$androidUtil.setPreference('f_repairman_id', Util.f.id)
276
283
  this.$androidUtil.setPreference('f_repairman_name', Util.f.name)
284
+ this.$androidUtil.setPreference('f_orgid', Util.f.orgid)
277
285
  this.$androidUtil.setPreference('f_role_name', Util.f.f_role_name || '')
278
286
  console.log("自动登陆标识" + Util.f.f_role_name)
279
287
  console.log(this.showauto)
@@ -289,13 +297,13 @@ export default {
289
297
  return dt.getFullYear() + '-' + (month < 10 ? '0' + month : month) + '-' + (date < 10 ? '0' + date : date)
290
298
  }, toStandardTimeString () {
291
299
  let dt = new Date()
292
- let month = dt.getMonth() + 1
300
+ let month = dt.getMonth()+1
293
301
  let date = dt.getDate()
294
302
  let hour = dt.getHours()
295
303
  let min = dt.getMinutes()
296
304
  let sec = dt.getSeconds()
297
- return dt.getFullYear() + '-' + (month < 10 ? '0' + month : month) + '-' + (date < 10 ? '0' + date : date)
298
- + ' ' + (hour < 10 ? '0' + hour : hour)
305
+ return dt.getFullYear() + '-' + (month<10? '0'+ month : month) + '-' + (date<10? '0'+ date : date)
306
+ + ' ' + (hour<10? '0'+ hour : hour) + ':' + (min<10? '0'+ min : min) + ':' + (sec<10? '0'+ sec : sec)
299
307
  }}
300
308
  } else {
301
309
  Vue.$login = Vue.prototype.$login = {jwt: ret.data.id,
@@ -306,13 +314,13 @@ export default {
306
314
  return dt.getFullYear() + '-' + (month < 10 ? '0' + month : month) + '-' + (date < 10 ? '0' + date : date)
307
315
  }, toStandardTimeString () {
308
316
  let dt = new Date()
309
- let month = dt.getMonth() + 1
317
+ let month = dt.getMonth()+1
310
318
  let date = dt.getDate()
311
319
  let hour = dt.getHours()
312
320
  let min = dt.getMinutes()
313
321
  let sec = dt.getSeconds()
314
- return dt.getFullYear() + '-' + (month < 10 ? '0' + month : month) + '-' + (date < 10 ? '0' + date : date)
315
- + ' ' + (hour < 10 ? '0' + hour : hour)
322
+ return dt.getFullYear() + '-' + (month<10? '0'+ month : month) + '-' + (date<10? '0'+ date : date)
323
+ + ' ' + (hour<10? '0'+ hour : hour) + ':' + (min<10? '0'+ min : min) + ':' + (sec<10? '0'+ sec : sec)
316
324
  }}
317
325
  }
318
326
  // 获取参数
@@ -326,7 +334,7 @@ export default {
326
334
  console.log('获取参数结束')
327
335
  this.loaderShow = false
328
336
  // 弱口令验证
329
- if (this.weakPassword && !(/^(?:(?=.*[a-zA-Z])(?=.*[0-9])(?=.*[^A-Za-z0-9])).*$/.test(this.password))) {
337
+ if (this.weakPassword && !(/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?!.*(123|321|abc|cba))[a-zA-Z\d!@#$%^&*()_+-=<>?]{8,16}$/.test(this.password))) {
330
338
  await this.$showMessage('登录系统: 此账户的密码过于简单,请修改密码后重新登陆!!!', ['confirm'])
331
339
  this.modifyPassword = true
332
340
  return
@@ -158,8 +158,8 @@ export default {
158
158
  this.$showMessage('两次输入密码不一致!')
159
159
  return
160
160
  }
161
- if (this.weakPassword && this.model.password && !(/^(?:(?=.*[a-zA-Z])(?=.*[0-9])(?=.*[^A-Za-z0-9])).*$/.test(this.model.password))) {
162
- this.$showMessage('新密码必须包含大小写字母、数字、符号!')
161
+ if (this.weakPassword && this.model.password && !(/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?!.*(123|321|abc|cba))[a-zA-Z\d!@#$%^&*()_+-=<>?]{8,16}$/.test(this.model.password))) {
162
+ this.$showMessage("密码必须是8~16位数字与大小字母外加特殊字符的组合,并且不能出现类似'123','abc'等连贯数字或者字母")
163
163
  return
164
164
  }
165
165
  // 检验原始密码是否符合 并修改密码
@@ -1,255 +1,256 @@
1
- <template>
2
- <div class="nav-bgcolor">
3
- <div class="auto">
4
- <div class="row nav-bgcolor">
5
- <div class="col-xs-6 manbiankuang" v-for="tab in tabs" @click="gotopage(tab.link,tab.name,tab.navigate)">
6
- <div class="badge" v-show="tab.name == '维修派发' && isShowRedNum && isShowRedNum == 'true'">
7
- <div class="badge-content">{{ pointNum ? pointNum : 0 }}</div>
8
- </div>
9
- <div class="badge" v-show="tab.name == '抄表待办' && isShowRedNum && isShowRedNum == 'true'">
10
- <div class="badge-content">{{ meterNum ? meterNum : 0 }}</div>
11
- </div>
12
- <div class="badge" v-show="tab.name == '信息公告' && isShowRedNum && isShowRedNum == 'true'">
13
- <div class="badge-content">{{ infoNum ? infoNum : 0 }}</div>
14
- </div>
15
- <img class="imgs" :src="imgback(tab.name)" alt="">
16
- <p></p>
17
- <p class="pagesfoot">{{ tab.name }}</p>
18
- <!--<p class="pagesfoot">{{tab.name}}&nbsp;{{tab.icon}}</p>-->
19
- <p></p>
20
- </div>
21
- </div>
22
- <!--<div class="row" style="overflow:auto;">-->
23
- <!--<repair-first v-show="componentName == 'repair-first'" worktype="报修单" :sourcet="sourcet" tabname="维修待办" v-on:changesum="changesum"></repair-first>-->
24
- <!--<zhihuan-first v-show="componentName == 'zhihuan-first'" worktype="置换通气单" :sourcet="sourcet" tabname="置换待办" v-on:changesum="changesum"></zhihuan-first>-->
25
- <!--</div>-->
26
- </div>
27
- </div>
28
- </template>
29
-
30
- <script scoped>
31
- import Vue from 'vue'
32
- import {HttpResetClass} from "vue-client";
33
- import * as Util from "../Util";
34
-
35
- export default {
36
- title: '在线业务导航',
37
- data() {
38
- return {
39
- titleName: '在线业务',
40
- isMenu: true,
41
- tabs: this.getTabs(),
42
- text: '导航组件this',
43
- isShowRedNum:this.$appdata.getSingleValue('手机端获取任务条数'),
44
- beforeName: '在线业务',
45
- sourcet: '竖屏',
46
- pointNum: null,
47
- infoNum: null,
48
- meterNum: null
49
- }
50
- },
51
- ready() {
52
- this.getRepairNum()
53
- this.getInfoNum()
54
- this.getmeterNum()
55
- },
56
- methods: {
57
- changesum(titdata) {
58
- for (var i = 0; i < this.tabs.length; i++) {
59
- if (this.tabs[i].name == titdata.title) {
60
- this.tabs[i].icon = titdata.sum + '单'
61
- console.log(JSON.stringify(this.tabs[i].icon))
62
- return
63
- }
64
- }
65
- },
66
- getTabs() {
67
- for (let funs in Vue.functions) {
68
- if (Vue.functions[funs].link == 'online-manage') {
69
- return Vue.functions[funs].children
70
- }
71
- }
72
- this.getRepairNum()
73
- this.getInfoNum()
74
- this.getmeterNum()
75
- },
76
- getmeterNum() {
77
- if (!this.isShowRedNum || this.isShowRedNum != 'true') {
78
- return
79
- }
80
- this.timeOutGetmeterNum()
81
- },
82
- getInfoNum() {
83
- if (!this.isShowRedNum || this.isShowRedNum != 'true') {
84
- return
85
- }
86
- this.timeOutGetInfoNum()
87
- },
88
- getRepairNum() {
89
- if (!this.isShowRedNum || this.isShowRedNum != 'true') {
90
- return
91
- }
92
- this.timeOutGetRepairNum()
93
- },
94
- timeOutGetRepairNum() {
95
- let condition = `1 = 1 and f_workorder_type = '报修单' and f_state = null `
96
- let val = {
97
- condition: {
98
- condition: condition,
99
- sign: '1 = 1'
100
- },
101
- userid: Vue.user.name
102
- }
103
- let http = new HttpResetClass()
104
- http.load('POST', `${this.$androidUtil.getProxyUrl()}/rs/path/operatorServiceAndroid`, {data: val}, {
105
- resolveMsg: null,
106
- rejectMsg: null
107
- }).then((res) => {
108
- this.pointNum = res.data.length
109
- })
110
- },
111
- timeOutGetInfoNum() {
112
- let condition = " 1 = 1 and (f_enddate >= '" + Util.toStandardTimeString() + "' or f_state = '公告中') "
113
- let val = {
114
- items: "count(*) as count_num",
115
- tablename: "T_STOPGAS",
116
- orderitem: "1",
117
- condition: condition,
118
- f_orgstr: `'${Vue.user.orgid}'`
119
- }
120
- let http = new HttpResetClass()
121
- http.load('POST', `${this.$androidUtil.getProxyUrl()}/rs/sql/tel_singleTable_OrderBy`, {data: val}, {
122
- resolveMsg: null,
123
- rejectMsg: null
124
- }).then((res) => {
125
- this.infoNum = res.data[0].count_num
126
- })
127
- },
128
- timeOutGetmeterNum() {
129
- let val = {
130
- items: "count(*) as count_num",
131
- tablename: "t_handplan",
132
- orderitem: "1",
133
- condition: `1=1 and f_inputtor = '${Vue.user.name}' and f_hand_state = '有效' and f_meter_state = '未抄表'`,
134
- f_orgid: `'${Vue.user.orgid}'`
135
- }
136
- let http = new HttpResetClass()
137
- http.load('POST', `${this.$androidUtil.getProxyUrl()}/rs/sql/tel_singleTable_OrderBy`, {data: val}, {
138
- resolveMsg: null,
139
- rejectMsg: null
140
- }).then((res) => {
141
- this.meterNum = res.data[0].count_num
142
- })
143
- },
144
- imgback(val) {
145
- return require('../assets/' + val + '.png')
146
- },
147
- // 返回主界面
148
- back() {
149
- this.titleName = '主界面'
150
- this.isMenu = true
151
-
152
- },
153
- gotopage(param, title, navigate) {
154
- console.log('进入子组件')
155
- var prpdata = {
156
- _this: this,
157
- title: title,
158
- safe: false
159
- }
160
- this.$dispatch('gotoson', prpdata)
161
- if (navigate) {
162
- this.$goto('embbed-page', {domainName: navigate, title: title, compName: param, login: Vue.user})
163
- } else {
164
- this.$goto(param, {sourcet: '竖屏', tabname: title},'self',this.getTabs)
165
- }
166
- },
167
- mute() {
168
- HostApp.mute()
169
- }
170
- },
171
- }
172
- </script>
173
- <style lang="less">
174
- .badge-content {
175
- color: #fff;
176
- box-sizing: border-box;
177
- min-width: 8px;
178
- font-size: 9px;
179
- line-height: 12px;
180
- white-space: nowrap;
181
- font-weight: 400;
182
- text-align: center;
183
- }
184
-
185
- .badge {
186
- top: 6px;
187
- position: absolute;
188
- max-height: 13px;
189
- min-height: 8px;
190
- right: 0;
191
- display: inline-flex;
192
- vertical-align: middle;
193
- box-sizing: content-box;
194
- border-radius: 100px;
195
- background-color: red;
196
- }
197
-
198
- .tab-befor-img {
199
- content: '';
200
- background-size: 30px;
201
- display: inline-block;
202
- margin-right: 8px;
203
- height: 30px;
204
- width: 30px;
205
- vertical-align: -35%;
206
- }
207
-
208
- .pageskuang {
209
- vertical-align: middle;
210
- display: table-cell;
211
- width: 32%;
212
- top: -50%;
213
- margin-top: 1%;
214
- margin-left: 1%;
215
- border: 1px solid #e3e3e3;
216
- text-align: center;
217
- background-color: #ffffff;
218
- }
219
-
220
- .pgesfoot {
221
- font-size: 14px;
222
- color: #666666;
223
- }
224
-
225
- .imgs {
226
- width: 35px;
227
- margin-top: 15px;
228
- }
229
-
230
- .pages-bgcolor {
231
- text-align: center;
232
- background-color: #f0f0ef;
233
- }
234
-
235
- img[src=""], img:not([src]) {
236
- opacity: 0;
237
- border: none;
238
- visibility: hidden;
239
- max-width: none;
240
- }
241
-
242
- .manbiankuang {
243
- width: 44%;
244
- margin-top: 15px;
245
- margin-left: 4%;
246
- border: 1px solid #e3e3e3;
247
- border-radius: 10px 10px 10px 10px;
248
- text-align: center;
249
- background-color: #ffffff;
250
- }
251
-
252
- .nav-bgcolor {
253
- background-color: #ffffff;
254
- }
255
- </style>
1
+ <template>
2
+ <div class="nav-bgcolor">
3
+ <div class="auto">
4
+ <div class="row nav-bgcolor">
5
+ <div class="col-xs-6 manbiankuang" v-for="tab in tabs" @click="gotopage(tab.link,tab.name,tab.navigate)">
6
+ <div class="badge" v-show="tab.name == '维修派发' && isShowRedNum && isShowRedNum == 'true'">
7
+ <div class="badge-content">{{ pointNum ? pointNum : 0 }}</div>
8
+ </div>
9
+ <div class="badge" v-show="tab.name == '抄表待办' && isShowRedNum && isShowRedNum == 'true'">
10
+ <div class="badge-content">{{ meterNum ? meterNum : 0 }}</div>
11
+ </div>
12
+ <div class="badge" v-show="tab.name == '信息公告' && isShowRedNum && isShowRedNum == 'true'">
13
+ <div class="badge-content">{{ infoNum ? infoNum : 0 }}</div>
14
+ </div>
15
+ <img class="imgs" :src="imgback(tab.name)" alt="">
16
+ <p></p>
17
+ <p class="pagesfoot">{{ tab.name }}</p>
18
+ <!--<p class="pagesfoot">{{tab.name}}&nbsp;{{tab.icon}}</p>-->
19
+ <p></p>
20
+ </div>
21
+ </div>
22
+ <!--<div class="row" style="overflow:auto;">-->
23
+ <!--<repair-first v-show="componentName == 'repair-first'" worktype="报修单" :sourcet="sourcet" tabname="维修待办" v-on:changesum="changesum"></repair-first>-->
24
+ <!--<zhihuan-first v-show="componentName == 'zhihuan-first'" worktype="置换通气单" :sourcet="sourcet" tabname="置换待办" v-on:changesum="changesum"></zhihuan-first>-->
25
+ <!--</div>-->
26
+ </div>
27
+ </div>
28
+ </template>
29
+
30
+ <script scoped>
31
+ import Vue from 'vue'
32
+ import {HttpResetClass} from "vue-client";
33
+ import * as Util from "../Util";
34
+
35
+ export default {
36
+ title: '在线业务导航',
37
+ data() {
38
+ return {
39
+ titleName: '在线业务',
40
+ isMenu: true,
41
+ tabs: this.getTabs(),
42
+ text: '导航组件this',
43
+ isShowRedNum:this.$appdata.getSingleValue('手机端获取任务条数'),
44
+ beforeName: '在线业务',
45
+ sourcet: '竖屏',
46
+ pointNum: null,
47
+ infoNum: null,
48
+ meterNum: null
49
+ }
50
+ },
51
+ ready() {
52
+ this.getRepairNum()
53
+ this.getInfoNum()
54
+ this.getmeterNum()
55
+ },
56
+ methods: {
57
+ changesum(titdata) {
58
+ for (var i = 0; i < this.tabs.length; i++) {
59
+ if (this.tabs[i].name == titdata.title) {
60
+ this.tabs[i].icon = titdata.sum + '单'
61
+ console.log(JSON.stringify(this.tabs[i].icon))
62
+ return
63
+ }
64
+ }
65
+ },
66
+ getTabs() {
67
+ for (let funs in Vue.functions) {
68
+ if (Vue.functions[funs].link == 'online-manage') {
69
+ return Vue.functions[funs].children
70
+ }
71
+ }
72
+ this.getRepairNum()
73
+ this.getInfoNum()
74
+ this.getmeterNum()
75
+ },
76
+ getmeterNum() {
77
+ if (!this.isShowRedNum || this.isShowRedNum != 'true') {
78
+ return
79
+ }
80
+ this.timeOutGetmeterNum()
81
+ },
82
+ getInfoNum() {
83
+ if (!this.isShowRedNum || this.isShowRedNum != 'true') {
84
+ return
85
+ }
86
+ this.timeOutGetInfoNum()
87
+ },
88
+ getRepairNum() {
89
+ if (!this.isShowRedNum || this.isShowRedNum != 'true') {
90
+ return
91
+ }
92
+ this.timeOutGetRepairNum()
93
+ },
94
+ timeOutGetRepairNum() {
95
+ let condition = `1 = 1 and f_workorder_type = '报修单' and f_state = null `
96
+ let val = {
97
+ condition: {
98
+ condition: condition,
99
+ sign: '1 = 1'
100
+ },
101
+ userid: Vue.user.name
102
+ }
103
+ let http = new HttpResetClass()
104
+ http.load('POST', `${this.$androidUtil.getProxyUrl()}/rs/path/operatorServiceAndroid`, {data: val}, {
105
+ resolveMsg: null,
106
+ rejectMsg: null
107
+ }).then((res) => {
108
+ this.pointNum = res.data.length
109
+ })
110
+ },
111
+ timeOutGetInfoNum() {
112
+ let condition = " 1 = 1 and (f_enddate >= '" + Util.toStandardTimeString() + "' or f_state = '公告中') "
113
+ let val = {
114
+ items: "count(*) as count_num",
115
+ tablename: "T_STOPGAS",
116
+ orderitem: "1",
117
+ condition: condition,
118
+ f_orgstr: `'${Vue.user.orgid}'`
119
+ }
120
+ let http = new HttpResetClass()
121
+ http.load('POST', `${this.$androidUtil.getProxyUrl()}/rs/sql/tel_singleTable_OrderBy`, {data: val}, {
122
+ resolveMsg: null,
123
+ rejectMsg: null
124
+ }).then((res) => {
125
+ this.infoNum = res.data[0].count_num
126
+ })
127
+ },
128
+ timeOutGetmeterNum() {
129
+ let val = {
130
+ items: "count(*) as count_num",
131
+ tablename: "t_handplan",
132
+ orderitem: "1",
133
+ condition: `1=1 and f_inputtor = '${Vue.user.name}' and f_hand_state = '有效' and f_meter_state = '未抄表'`,
134
+ f_orgid: `'${Vue.user.orgid}'`
135
+ }
136
+ let http = new HttpResetClass()
137
+ http.load('POST', `${this.$androidUtil.getProxyUrl()}/rs/sql/tel_singleTable_OrderBy`, {data: val}, {
138
+ resolveMsg: null,
139
+ rejectMsg: null
140
+ }).then((res) => {
141
+ this.meterNum = res.data[0].count_num
142
+ })
143
+ },
144
+ imgback(val) {
145
+ return require('../assets/' + val + '.png')
146
+ },
147
+ // 返回主界面
148
+ back() {
149
+ this.titleName = '主界面'
150
+ this.isMenu = true
151
+
152
+ },
153
+ gotopage(param, title, navigate) {
154
+ console.log('进入子组件')
155
+ var prpdata = {
156
+ _this: this,
157
+ title: title,
158
+ safe: false
159
+ }
160
+ this.$dispatch('gotoson', prpdata)
161
+ if (navigate) {
162
+ this.$goto('embbed-page', {domainName: navigate, title: title, compName: param, login: Vue.user})
163
+ } else {
164
+ this.$goto(param, {sourcet: '竖屏', tabname: title},'self',this.getTabs)
165
+ }
166
+ },
167
+ mute() {
168
+ HostApp.mute()
169
+ }
170
+ },
171
+ }
172
+ </script>
173
+ <style lang="less">
174
+ .badge-content {
175
+ color: #fff;
176
+ box-sizing: border-box;
177
+ min-width: 8px;
178
+ font-size: 9px;
179
+ line-height: 12px;
180
+ white-space: nowrap;
181
+ font-weight: 400;
182
+ text-align: center;
183
+ }
184
+
185
+ .badge {
186
+ top: 6px;
187
+ position: absolute;
188
+ max-height: 13px;
189
+ min-height: 8px;
190
+ right: 0;
191
+ display: inline-flex;
192
+ vertical-align: middle;
193
+ box-sizing: content-box;
194
+ border-radius: 100px;
195
+ background-color: red;
196
+ }
197
+
198
+ .tab-befor-img {
199
+ content: '';
200
+ background-size: 30px;
201
+ display: inline-block;
202
+ margin-right: 8px;
203
+ height: 30px;
204
+ width: 30px;
205
+ vertical-align: -35%;
206
+ }
207
+
208
+ .pageskuang {
209
+ vertical-align: middle;
210
+ display: table-cell;
211
+ width: 32%;
212
+ top: -50%;
213
+ margin-top: 1%;
214
+ margin-left: 1%;
215
+ border: 1px solid #e3e3e3;
216
+ text-align: center;
217
+ background-color: #ffffff;
218
+ }
219
+
220
+ .pgesfoot {
221
+ font-size: 14px;
222
+ color: #666666;
223
+ }
224
+
225
+ .imgs {
226
+ width: 35px;
227
+ height: 35px;
228
+ margin-top: 15px;
229
+ }
230
+
231
+ .pages-bgcolor {
232
+ text-align: center;
233
+ background-color: #f0f0ef;
234
+ }
235
+
236
+ img[src=""], img:not([src]) {
237
+ opacity: 0;
238
+ border: none;
239
+ visibility: hidden;
240
+ max-width: none;
241
+ }
242
+
243
+ .manbiankuang {
244
+ width: 44%;
245
+ margin-top: 15px;
246
+ margin-left: 4%;
247
+ border: 1px solid #e3e3e3;
248
+ border-radius: 10px 10px 10px 10px;
249
+ text-align: center;
250
+ background-color: #ffffff;
251
+ }
252
+
253
+ .nav-bgcolor {
254
+ background-color: #ffffff;
255
+ }
256
+ </style>