system-phone 3.0.49-2 → 3.0.49-21

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.
@@ -207,6 +207,11 @@ export default {
207
207
  rejectMsg: null
208
208
  })
209
209
  console.log('获取登陆信息:', ret.data)
210
+ if(ret.data.state == '离职'){
211
+ this.loaderShow = false
212
+ this.$showMessage('登录失败!用户名或密码错误!')
213
+ return
214
+ }
210
215
  //秦华---(siteId==站点id)===============(flatId==平板id)
211
216
  this.$androidUtil.setPreference('siteId', ret.data.f_extend1 || '')
212
217
  this.$androidUtil.setPreference('flatId', ret.data.f_extend2 || '')
@@ -274,6 +279,7 @@ export default {
274
279
  this.$androidUtil.setPreference('login_user_cache', userStr)
275
280
  this.$androidUtil.setPreference('f_repairman_id', Util.f.id)
276
281
  this.$androidUtil.setPreference('f_repairman_name', Util.f.name)
282
+ this.$androidUtil.setPreference('f_orgid', Util.f.orgid)
277
283
  this.$androidUtil.setPreference('f_role_name', Util.f.f_role_name || '')
278
284
  console.log("自动登陆标识" + Util.f.f_role_name)
279
285
  console.log(this.showauto)
@@ -289,13 +295,13 @@ export default {
289
295
  return dt.getFullYear() + '-' + (month < 10 ? '0' + month : month) + '-' + (date < 10 ? '0' + date : date)
290
296
  }, toStandardTimeString () {
291
297
  let dt = new Date()
292
- let month = dt.getMonth() + 1
298
+ let month = dt.getMonth()+1
293
299
  let date = dt.getDate()
294
300
  let hour = dt.getHours()
295
301
  let min = dt.getMinutes()
296
302
  let sec = dt.getSeconds()
297
- return dt.getFullYear() + '-' + (month < 10 ? '0' + month : month) + '-' + (date < 10 ? '0' + date : date)
298
- + ' ' + (hour < 10 ? '0' + hour : hour)
303
+ return dt.getFullYear() + '-' + (month<10? '0'+ month : month) + '-' + (date<10? '0'+ date : date)
304
+ + ' ' + (hour<10? '0'+ hour : hour) + ':' + (min<10? '0'+ min : min) + ':' + (sec<10? '0'+ sec : sec)
299
305
  }}
300
306
  } else {
301
307
  Vue.$login = Vue.prototype.$login = {jwt: ret.data.id,
@@ -306,13 +312,13 @@ export default {
306
312
  return dt.getFullYear() + '-' + (month < 10 ? '0' + month : month) + '-' + (date < 10 ? '0' + date : date)
307
313
  }, toStandardTimeString () {
308
314
  let dt = new Date()
309
- let month = dt.getMonth() + 1
315
+ let month = dt.getMonth()+1
310
316
  let date = dt.getDate()
311
317
  let hour = dt.getHours()
312
318
  let min = dt.getMinutes()
313
319
  let sec = dt.getSeconds()
314
- return dt.getFullYear() + '-' + (month < 10 ? '0' + month : month) + '-' + (date < 10 ? '0' + date : date)
315
- + ' ' + (hour < 10 ? '0' + hour : hour)
320
+ return dt.getFullYear() + '-' + (month<10? '0'+ month : month) + '-' + (date<10? '0'+ date : date)
321
+ + ' ' + (hour<10? '0'+ hour : hour) + ':' + (min<10? '0'+ min : min) + ':' + (sec<10? '0'+ sec : sec)
316
322
  }}
317
323
  }
318
324
  // 获取参数
@@ -1,256 +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
- debugger
68
- for (let funs in Vue.functions) {
69
- if (Vue.functions[funs].link == 'online-manage') {
70
- return Vue.functions[funs].children
71
- }
72
- }
73
- this.getRepairNum()
74
- this.getInfoNum()
75
- this.getmeterNum()
76
- },
77
- getmeterNum() {
78
- if (!this.isShowRedNum || this.isShowRedNum != 'true') {
79
- return
80
- }
81
- this.timeOutGetmeterNum()
82
- },
83
- getInfoNum() {
84
- if (!this.isShowRedNum || this.isShowRedNum != 'true') {
85
- return
86
- }
87
- this.timeOutGetInfoNum()
88
- },
89
- getRepairNum() {
90
- if (!this.isShowRedNum || this.isShowRedNum != 'true') {
91
- return
92
- }
93
- this.timeOutGetRepairNum()
94
- },
95
- timeOutGetRepairNum() {
96
- let condition = `1 = 1 and f_workorder_type = '报修单' and f_state = null `
97
- let val = {
98
- condition: {
99
- condition: condition,
100
- sign: '1 = 1'
101
- },
102
- userid: Vue.user.name
103
- }
104
- let http = new HttpResetClass()
105
- http.load('POST', `${this.$androidUtil.getProxyUrl()}/rs/path/operatorServiceAndroid`, {data: val}, {
106
- resolveMsg: null,
107
- rejectMsg: null
108
- }).then((res) => {
109
- this.pointNum = res.data.length
110
- })
111
- },
112
- timeOutGetInfoNum() {
113
- let condition = " 1 = 1 and (f_enddate >= '" + Util.toStandardTimeString() + "' or f_state = '公告中') "
114
- let val = {
115
- items: "count(*) as count_num",
116
- tablename: "T_STOPGAS",
117
- orderitem: "1",
118
- condition: condition,
119
- f_orgstr: `'${Vue.user.orgid}'`
120
- }
121
- let http = new HttpResetClass()
122
- http.load('POST', `${this.$androidUtil.getProxyUrl()}/rs/sql/tel_singleTable_OrderBy`, {data: val}, {
123
- resolveMsg: null,
124
- rejectMsg: null
125
- }).then((res) => {
126
- this.infoNum = res.data[0].count_num
127
- })
128
- },
129
- timeOutGetmeterNum() {
130
- let val = {
131
- items: "count(*) as count_num",
132
- tablename: "t_handplan",
133
- orderitem: "1",
134
- condition: `1=1 and f_inputtor = '${Vue.user.name}' and f_hand_state = '有效' and f_meter_state = '未抄表'`,
135
- f_orgid: `'${Vue.user.orgid}'`
136
- }
137
- let http = new HttpResetClass()
138
- http.load('POST', `${this.$androidUtil.getProxyUrl()}/rs/sql/tel_singleTable_OrderBy`, {data: val}, {
139
- resolveMsg: null,
140
- rejectMsg: null
141
- }).then((res) => {
142
- this.meterNum = res.data[0].count_num
143
- })
144
- },
145
- imgback(val) {
146
- return require('../assets/' + val + '.png')
147
- },
148
- // 返回主界面
149
- back() {
150
- this.titleName = '主界面'
151
- this.isMenu = true
152
-
153
- },
154
- gotopage(param, title, navigate) {
155
- console.log('进入子组件')
156
- var prpdata = {
157
- _this: this,
158
- title: title,
159
- safe: false
160
- }
161
- this.$dispatch('gotoson', prpdata)
162
- if (navigate) {
163
- this.$goto('embbed-page', {domainName: navigate, title: title, compName: param, login: Vue.user})
164
- } else {
165
- this.$goto(param, {sourcet: '竖屏', tabname: title},'self',this.getTabs)
166
- }
167
- },
168
- mute() {
169
- HostApp.mute()
170
- }
171
- },
172
- }
173
- </script>
174
- <style lang="less">
175
- .badge-content {
176
- color: #fff;
177
- box-sizing: border-box;
178
- min-width: 8px;
179
- font-size: 9px;
180
- line-height: 12px;
181
- white-space: nowrap;
182
- font-weight: 400;
183
- text-align: center;
184
- }
185
-
186
- .badge {
187
- top: 6px;
188
- position: absolute;
189
- max-height: 13px;
190
- min-height: 8px;
191
- right: 0;
192
- display: inline-flex;
193
- vertical-align: middle;
194
- box-sizing: content-box;
195
- border-radius: 100px;
196
- background-color: red;
197
- }
198
-
199
- .tab-befor-img {
200
- content: '';
201
- background-size: 30px;
202
- display: inline-block;
203
- margin-right: 8px;
204
- height: 30px;
205
- width: 30px;
206
- vertical-align: -35%;
207
- }
208
-
209
- .pageskuang {
210
- vertical-align: middle;
211
- display: table-cell;
212
- width: 32%;
213
- top: -50%;
214
- margin-top: 1%;
215
- margin-left: 1%;
216
- border: 1px solid #e3e3e3;
217
- text-align: center;
218
- background-color: #ffffff;
219
- }
220
-
221
- .pgesfoot {
222
- font-size: 14px;
223
- color: #666666;
224
- }
225
-
226
- .imgs {
227
- width: 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>
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>